这个问题是要求参考或解释。 主要思想是:如果我从Coq的标准库中添加每个公理怎么办? 会引起矛盾还是彼此调适? 除了Coq的标准库以外,还有哪些其他有关Coq的可靠信息来源。 (我看到了一堆从90年代到80年代的论文。显然有很多类型理论的变体。哪一个是当代Coq的?或者我应该认为“ https://coq.inria.fr/refman/的所有内容都可以在{{ 3}}和标准库中。“)
(A)您是否知道可以证明某些公理可以适当地添加到Coq中的论文或其他来源? 适当地,这意味着扩展的系统将是先前OR的保守扩展,将被认为是安全的。
(B)我个人对这些公理感兴趣:
0)ex2sig(一致吗?)
Axiom ex2sig : forall (A:Type) (P:A->Prop), @ex A P -> @sig A P.
1)LEM
2)功能扩展性
Axiom functional_extensionality_dep : forall {A} {B : A -> Type},
forall (f g : forall x : A, B x),
(forall x, f x = g x) -> f = g.
3)选择
Theorem choice :
forall (A B : Type) (R : A->B->Prop),
(forall x : A, exists y : B, R x y) ->
exists f : A->B, (forall x : A, R x (f x)).
4)“术语作为类型”
Definition E := Type.
Axiom R : forall x : E, x -> E.
Axiom R_inj : forall (x : E) (a b : x), R x a = R x b -> a = b.
5)不相关性证明
Axiom proof_irrelevance : forall (P:Prop) (p1 p2:P), p1 = p2.
6)...(您可能会在评论中建议您的公理)
例如马尔可夫原理
Parameter P:nat -> Prop.
Theorem M:((forall n,(P n \/ ~ (P n)))/\ ~(forall n, ~(P n)) -> exists n,P n).
但是我们对马尔可夫原理并不十分感兴趣。 因为我们需要使用LEM的一些非常强大的经典理论(因此证明了马尔可夫原理),某些最强形式的Choice(这将暗示LEM),可扩展性等(我们还可以添加哪些公理?)(顺便说一句, Coq中有很多可供选择的变体:关系)
p.s。在Coq中广泛使用“非计算”公理应被视为滥用吗? (我认为没有,但是我不确定。) 添加公理后,我会失去Coq的哪些属性? (您可能会说参考和/或意见)
p.p.s。这个问题很大,由许多相互联系的部分组成,因此欢迎部分回答。