- 型と値は区別する必要がある。
- 計算と演算を区別するのは難しい。曖昧に区別されていることもあるが、混同して使っても差し支えない。
- 関数と計算は一応区別するが、ヘッド部(後述)の有る無しの違いしかないので、混同して使っても差し支えない。
- 型と型の非空性宣言(後述)は区別する必要がある。
- 関数の存在宣言(後述)と関数の実装要求(後述)は区別する必要がある。
- プログラミングとメタプログラミング(プログラムをデータとみなして操作するプログラミング)は区別する必要がある。
|- null
string, number |- boolean
string, number |-? boolean
型 |
命題 |
型の値 |
命題の証拠 |
計算 |
証明 |
関数 |
定理 |
演算 |
推論 |
存在宣言 |
証明可能性判断 |
非空宣言 |
命題の証明可能性判断 |
プログラミング |
証明作業 |
メタプログラミング |
リーズニング作業 |
関数定義のヘッド部 |
定理記述のヘッド部 |
- 証明作業とリーズニング作業は区別する必要がある。
- 証明と推論を区別するのは難しい。曖昧に区別されていることもあるが、混同して使っても差し支えない。
- 定理と証明は一応区別するが、ヘッド部(後述)の有る無しの違いしかないので、混同して使っても差し支えない。
- 命題と証拠は区別する必要がある。
- 命題と命題の証明可能性判断は区別する必要がある。
- 定理の証明可能性判断と定理の証明要求は区別する必要がある。
現状:
- 証明作業とリーズニング作業を区別してない、またはゴッチャにしている場合が多い。
- 証明と推論を区別していて、その区別を絶対視している場合がある。
- 定理と証明を区別していて、まったく違うものとして扱っていることがある。
- 命題と証拠を区別してない、またはゴッチャにしている場合が多い。
- 命題と命題の証明可能性判断を区別してない、またはゴッチャにしている場合が多い。
- 定理の証明可能性判断と定理の証明要求を区別してない、またはゴッチャにしている場合が多い。
関数定義 |
定理記述 |
関数定義のヘッド部 |
定理記述のヘッド部 |
関数定義のボディ部 |
定理記述の証明部 |
関数定義のプロファイル部 |
定理記述のステートメント部 |
プロファイルの引数の型 |
ステートメントの前提の命題 |
プロファイルの戻り型 |
ステートメントの結論の命題 |