【中国科学技術大学-正式コース】PartA:その他のCoq戦術

否定:戦術が展開する

Coqは、記号〜を使用して命題の否定を示します。〜PはP-> Falseの文法です。次のように、否定を使用して定理を確立できます。

Theorem example_1: forall P: Prop,
        ~(P /\ ~P).
    Proof.
        unfold not.
        intros.
        inversion H.
        apply H1.
        apply H0.
    Qed.

演習1:〜(P \ / Q)-> 〜P / \ 〜Q

Theorem exercise_1: forall P Q :Prop,
~(P \/ Q) -> ~P /\ ~Q.
Proof.
       unfold not.
       intros.
       split.
       intros.
       destruct H.
       left.
       apply H0.
       intros.
       destruct H.
       right.
       apply H0.
Qed.

ポリシーアサーション(アサート)
場合によっては、現在の目標を中間目標から証明する必要があります。アサートまたはアサート(h:h)戦略は、hを新しいサブゴールとして導入します。新しいゴールを証明した後、仮説h:hを使用して元のゴールを証明できます。以下に例を示します。

 Theorem example2 : forall P Q: Prop,
        (P /\ ~P) -> Q.
    Proof.
        unfold not.
        intros.
        assert (f : False).
        inversion H.
        apply H1.
        apply H0.
        inversion f.
    Qed.

戦略の破壊(破壊)
割り当て2では、反転戦略を使用して、仮想の接続または分離を解除します。接続詞と論理和を処理するために、より一般的に使用されるもう1つの戦略があります。それは、破壊戦略です。この戦略は、1つの仮説P / \ Qを2つの仮説PとQに置き換えます。または、仮説が別個のP \ / Qである場合、この戦略は2つのサブゴールを生成します。1つのPで保持し、別のQで保持します。戦略の破棄は、帰納型のコンストラクターごとにサブゴールを生成することもできます。

Theorem example3 : forall P Q R: Prop,
        P \/ Q -> (P -> R) -> (Q -> R) -> R
    Proof.
        intros.
        destruct H as [Hp|Hq].
        apply H0 in Hp.
        apply Hp.
        apply H1 in Hq.
        apply Hq.
    Qed.

演習2: 戦術的破壊を使用して証明する

       P /\ (Q \/ R) <-> (P /\ Q) \/ (P /\ R).
    
Theorem exercise_1: forall P Q R:Prop,
  P /\ (Q \/ R) <-> (P /\ Q) \/ (P /\ R).
Proof.
       intros.
       split.
       intros.
       inversion H.
       destruct H1 as [Hq | Hr].
       left.
       split.
       apply H0.
       apply Hq.
       right.
       split.
       apply H0.
       apply Hr.

       intros.
       inversion H.
       destruct H as [H1 | H2].
       split.
       inversion H0.
       apply H.
       inversion H0.
       left.
       apply H2.
       inversion H2.
       split.
       apply H.
       right.
       apply H1.
       inversion H0.
       split.
       apply H1.
       right.
       apply H2.
Qed.

中国科学技術大学-hbj教師がコースノートを正式に作成-メッセージを残したり、プライベートメッセージを交換したりすることを歓迎します

 

おすすめ

転載: blog.csdn.net/weixin_41950078/article/details/109651304