Coqの公理
Masaki Hara (qnighy)
2016/04/23
型システムと公理系
Coqの型システム (CIC/pCIC)
強正規化性により
正当化
Coqの公理系
集合モデルにより
正当化
HoTTの公理系
∞-亜群モデルにより
正当化
両立しない
Coqの公理
同一性
2つの値の同一性を
保証する。
構成
何らかの値の存在を
保証する。
古典論理 選択 記述
真偽に基づく
2択の提供
存在するものを
集める
Coqの項として
書ける
同一性の公理
関数の外延性
各点で等しい関数は等しい
FunctionalExtensionality.functional_extensionality
命題の外延性
同値な命題は等しい
対応する公理なし
Coq.Sets.Ensembles.Extensionality_Ensembles の帰結
証明非依存性
証明は区別できない
ProofIrrelevance.proof_irreleavance
JM同値性
集合間の同値性はただ1つ
JMeq.JMeq_eq
値の強さ
∀𝑥, ∃𝑦, 𝑃 𝑥, 𝑦
∀𝑥, ∃! 𝑦, 𝑃 𝑥, 𝑦
∀𝑥, 𝑦 𝑃 𝑥, 𝑦 𝑓 ∀𝑥, 𝑃 𝑥, 𝑓 𝑥
∃𝑓, ∀𝑥, 𝑃 𝑥, 𝑓 𝑥
各点での存在のみ。
各点での一意存在。
一様に存在。
具体的な項。 具体的な項。
一意選択
∀𝑥, ∃𝑦, 𝑃 𝑥, 𝑦
∀𝑥, ∃! 𝑦, 𝑃 𝑥, 𝑦
∀𝑥, 𝑦 𝑃 𝑥, 𝑦 𝑓 ∀𝑥, 𝑃 𝑥, 𝑓 𝑥
∃𝑓, ∀𝑥, 𝑃 𝑥, 𝑓 𝑥
各点での存在のみ。
各点での一意存在。
一様に存在。
具体的な項。 具体的な項。
一意選択
各点で一意存在するなら一様に存在
ClassicalUniqueChoice.unique_choice
選択
∀𝑥, ∃𝑦, 𝑃 𝑥, 𝑦
∀𝑥, ∃! 𝑦, 𝑃 𝑥, 𝑦
∀𝑥, 𝑦 𝑃 𝑥, 𝑦 𝑓 ∀𝑥, 𝑃 𝑥, 𝑓 𝑥
∃𝑓, ∀𝑥, 𝑃 𝑥, 𝑓 𝑥
各点での存在のみ。
各点での一意存在。
一様に存在。
具体的な項。 具体的な項。
選択
各点で存在するなら一様に存在
ClassicalChoice.choice
関係選択
∀𝑥, ∃𝑦, 𝑃 𝑥, 𝑦
∀𝑥, ∃! 𝑦, 𝑃 𝑥, 𝑦
∀𝑥, 𝑦 𝑃 𝑥, 𝑦 𝑓 ∀𝑥, 𝑃 𝑥, 𝑓 𝑥
∃𝑓, ∀𝑥, 𝑃 𝑥, 𝑓 𝑥
各点での存在のみ。
各点での一意存在。
一様に存在。
具体的な項。 具体的な項。
関係選択
各点での存在を一意存在に絞れる
RelationalChoice.relational_choice
記述
∀𝑥, ∃𝑦, 𝑃 𝑥, 𝑦
∀𝑥, ∃! 𝑦, 𝑃 𝑥, 𝑦
∀𝑥, 𝑦 𝑃 𝑥, 𝑦 𝑓 ∀𝑥, 𝑃 𝑥, 𝑓 𝑥
∃𝑓, ∀𝑥, 𝑃 𝑥, 𝑓 𝑥
各点での存在のみ。
各点での一意存在。
一様に存在。
具体的な項。 具体的な項。
記述
各点での一意存在を具体的な項に
Description.constructive_definite_description
不定記述
∀𝑥, ∃𝑦, 𝑃 𝑥, 𝑦
∀𝑥, ∃! 𝑦, 𝑃 𝑥, 𝑦
∀𝑥, 𝑦 𝑃 𝑥, 𝑦 𝑓 ∀𝑥, 𝑃 𝑥, 𝑓 𝑥
∃𝑓, ∀𝑥, 𝑃 𝑥, 𝑓 𝑥
各点での存在のみ。
各点での一意存在。
一様に存在。
具体的な項。 具体的な項。
不定記述
各点での存在を具体的な項に
IndefiniteDescription.constructive_indefinite_description
古典論理
古典論理
命題の真偽で場合分けする証明
Classical.classic
情報つき排中律
命題の真偽で場合分けする構成
対応する公理なし
ClassicalDescription.excluded_middle_informative
非古典論理のもとでの不定記述
不定記述
各点での存在を具体的な項に
IndefiniteDescription.constructive_indefinite_description
ヒルベルトの𝜀
「酒場のパラドックス」型不定記述
Epsilon.epsilon_statement
非古典論理では不定記述より強い

Coqの公理