Coq 如何证明函数相等,知道它们的身体是相等的?
我们如何证明以下内容Coq 如何证明函数相等,知道它们的身体是相等的?,coq,proof,Coq,Proof,我们如何证明以下内容 Lemma forfun: forall (A B : nat->nat), (forall x:nat, A x = B x) -> (fun x => A x) = (fun x => B x). Proof. 你想要的原则就是所谓的功能扩展性;它以最普遍的形式说 Axiom fun_ext : forall (A B : Type) (f g : A -> B
Lemma forfun: forall (A B : nat->nat), (forall x:nat, A x = B x) ->
(fun x => A x) = (fun x => B x).
Proof.
你想要的原则就是所谓的功能扩展性;它以最普遍的形式说
Axiom fun_ext : forall (A B : Type) (f g : A -> B),
(forall x : A, f x = g x) -> f = g.
不幸的是,尽管这一原则很有用,但它独立于Coq的基本逻辑,这意味着不可能证明或反驳它。然而,Coq的逻辑设计是为了能够安全地将这一原则作为理论中的公理,并且已经定义了这一原则,以便您可以使用它。@HoboSapiens这是一个关于Coq证明助手中编程的合法问题,参见Coq标签上的其他相关问题。@HoboSapiens:Coq是一种自动定理证明程序,也是一种编程语言。(将鼠标悬停在
coq
标签上:186个关注者和410个问题,依此类推。)这个问题是关于如何使用coq语言,而不是如何证明一个一般的数学事实。也就是说,我不认为这在Math.SE上不合适。