Type 产品的注入性有意义吗?
Does injectivity of Type product make sense?
如何在 Coq 中证明以下内容?
Goal forall (A B : Type), (A*A = B*B)%type -> A = B.
如果不可证明,是否可以安全地添加为公理?
编辑:以下答案假设的陈述比问题中的陈述更强:forall (A B C D : Type), (A*B = C*D)%type -> A = C
。所以答案实际上并没有回答问题。
您的目标无法证明,因为它与独立于 Coq 的 univalence 相矛盾。矛盾的产生是因为 A * False
同构于任何 A
的 False
。然后单价意味着 A * False = False
并且您的目标让我们得出 A = B
任何 A
和 B
。特别是 True = False
,它通过传输产生 False
的证明。所以,如果你的目标是可证明的,Coq 将是反单价的。
不知道你的没有单价性的目标是不是也自相矛盾
肯定与单价不符,e.g. 2x3 = 1 x 6 但 1 /= 2 和 3 /= 6。奇怪的想法想要这个。
是的,我的评论是针对更强的声明。平方应该是单射的,但我不确定你是否可以在 HoT 中证明这一点。
如何在 Coq 中证明以下内容?
Goal forall (A B : Type), (A*A = B*B)%type -> A = B.
如果不可证明,是否可以安全地添加为公理?
编辑:以下答案假设的陈述比问题中的陈述更强:forall (A B C D : Type), (A*B = C*D)%type -> A = C
。所以答案实际上并没有回答问题。
您的目标无法证明,因为它与独立于 Coq 的 univalence 相矛盾。矛盾的产生是因为 A * False
同构于任何 A
的 False
。然后单价意味着 A * False = False
并且您的目标让我们得出 A = B
任何 A
和 B
。特别是 True = False
,它通过传输产生 False
的证明。所以,如果你的目标是可证明的,Coq 将是反单价的。
不知道你的没有单价性的目标是不是也自相矛盾
肯定与单价不符,e.g. 2x3 = 1 x 6 但 1 /= 2 和 3 /= 6。奇怪的想法想要这个。
是的,我的评论是针对更强的声明。平方应该是单射的,但我不确定你是否可以在 HoT 中证明这一点。