あと、introsと違ってintroの場合は、
~P
の形のゴールを、P
という仮定と、False
というゴールに変形出来ます。~P
はP->False
なのですが、intros.では~P
は~P
のままです。intro.を使った例です。
Coq < Lemma Sample_of_intro : forall P, ~~~P -> ~P.
1 subgoal
============================
forall P : Prop, ~ ~ ~ P -> ~ P
Sample_of_intro < intro P.
1 subgoal
P : Prop
============================
~ ~ ~ P -> ~ P
Sample_of_intro < intro nnnp.
1 subgoal
P : Prop
nnnp : ~ ~ ~ P
============================
~ P
Sample_of_intro < intro p.
1 subgoal
P : Prop
nnnp : ~ ~ ~ P
p : P
============================
False
Sample_of_intro < elim nnnp.
1 subgoal
P : Prop
nnnp : ~ ~ ~ P
p : P
============================
~ ~ P
Sample_of_intro < intro np.
1 subgoal
P : Prop
nnnp : ~ ~ ~ P
p : P
np : ~ P
============================
False
Sample_of_intro < elim np.
1 subgoal
P : Prop
nnnp : ~ ~ ~ P
p : P
np : ~ P
============================
P
Sample_of_intro < exact p.
Proof completed.
Sample_of_intro < Qed.
No comments:
Post a Comment