Leanの推論規則 - (新) 檜山正幸のキマイラ飼育記 メモ編 の続き。
https://leanprover.github.io/logic_and_proof/nd_quickref.html に自然演繹のまとめがある。それに従うが、双含意〈bi-inplication〉は除く。
論理記号 | 導入 | 消去 |
---|---|---|
Implication | ラムダ抽象、assume | 空白右引数エバル |
Conjunction | and.intro | and.left, and.right |
Negation | ラムダ抽象 | 空白右引数エバル |
Disjunction | or.inl, or.inr | or.elim(コペア構成高階関数) |
Truth | trivial | |
Falsity | false.elim | |
Reductio ad absurdum | classical.by_contradiction | |
Universal quantifier | ラムダ抽象、assume | 空白右引数エバル |
Existential quantifier | exists.intro | exists.elim(高階関数) |
バランスが悪い!悪すぎる!! 以下、※はコンビネータ〈リーズニング〉
論理記号 | 導入 | 消去 |
---|---|---|
Implication | ※ | |
Conjunction | ||
Negation | ※ | |
Disjunction | ※ | |
Truth | ||
Falsity | ||
Reductio ad absurdum | ※ | |
Universal quantifier | ||
Existential quantifier | ※ |
次の対応がハッキリしてない。
射:
projection | injection | |
---|---|---|
有限個別 | ||
パラメトリック |
pairing | copairing | |
---|---|---|
有限個別 | ※ | ※ |
パラメトリック | ※ | ※ |
バランス良く表にまとめると、
射:
論理記号 | 導入 | 消去 |
---|---|---|
Implication | 無理 | |
Conjunction | ||
Negation | 無理 | |
Disjunction | ||
Truth | 無し | |
Falsity | 無し | |
Reductio ad absurdum | 無理 | 無し |
Universal quantifier | ||
Existential quantifier |
論理記号 | 導入 | 消去 |
---|---|---|
Implication | ||
Conjunction | ||
Negation | ||
Disjunction | ||
Truth | 無し | |
Falsity | 無し | |
Reductio ad absurdum | 無し | |
Universal quantifier | ||
Existential quantifier |
次が無視されている。
- swap 変数の順序が変わる
- ∧-copy 変数の重複使用(∨-mergeの双対)
- ∧-delete 変数の未使用(∨-createの双対)
- ∨-decons 分解された状態から始める
- ∨-merge テキトーに処理
- ∧ボックス デフォルト
- ∨ボックス テキトーに処理
- ∀ボックス テキトーに処理
- ∃ボックス テキトーに処理