我正在尝试证明以下自然数的平凡抵消定理:
// Before do this, check navigator.userAgent
// and execute below logic if it is desktop Safari.
// Add Z is the convention, but you won't get any error even if do not add.
var c = new Date('2019-01-19 23:59:59Z'.replace(/\s+/g, 'T'))
// It will returns in minute
var timeOffset = new Date().getTimezoneOffset();
// Do not forget getTime, if not, you will get Invalid date
var d = new Date(c.getTime() + (timeOffset*60*1000))
这是我在forall i, j, k in nat . ((i+j) = (i+k)) -> (j = k)
中写的内容:
Coq
之后Theorem cancel : forall (i j k : nat),
((add i j) = (add i k)) -> (j = k).
Proof.
intros i j k.
induction i.
simpl.
试图证明归纳法的基础是微不足道的:
Coq
几乎所有j = k -> j = k
教程都以证明Coq
开始,但是当我尝试使用此类证明时,我陷入了困境。例如,我正在使用:
A -> A
然后,当我尝试:
Theorem my_first_proof : (forall A : Prop, A -> A).
Proof.
intros A.
intros proof_of_A.
exact proof_of_A.
Qed.
我收到以下错误:
rewrite -> my_first_proof
非常感谢您的帮助!
答案 0 :(得分:3)
在这种情况下,正确的策略是apply
。
apply my_first_proof.
rewrite
用于将目标的一个子项替换为另一个子项,通常用引理表示这些子项在某种意义上是相等或相等的。 my_first_proof
不是平等证明。