Library Mtac2Tests.test_brackets
Require Import Mtac2.Mtac2.
Import T.
Theorem andb3_exchange :
forall b c d, andb (andb b c) d = andb (andb b d) c.
MProof.
intros b c d. destruct b.
- destruct c.
{ destruct d.
- reflexivity.
- reflexivity. }
{ destruct d.
- reflexivity.
- reflexivity. }
- destruct c.
{ destruct d.
- reflexivity.
- reflexivity. }
{ destruct d.
* reflexivity.
* reflexivity. }
Qed.
Import Lists.List.ListNotations.
Theorem plus_n_O : forall n:nat, n = n + 0.
MProof.
intros n. elim n asp [ [] ; [ "n'" ; "IHn'"]].
- reflexivity.
- simpl. rewrite <- IHn'.
reflexivity.
Qed.
Import T.
Theorem andb3_exchange :
forall b c d, andb (andb b c) d = andb (andb b d) c.
MProof.
intros b c d. destruct b.
- destruct c.
{ destruct d.
- reflexivity.
- reflexivity. }
{ destruct d.
- reflexivity.
- reflexivity. }
- destruct c.
{ destruct d.
- reflexivity.
- reflexivity. }
{ destruct d.
* reflexivity.
* reflexivity. }
Qed.
Import Lists.List.ListNotations.
Theorem plus_n_O : forall n:nat, n = n + 0.
MProof.
intros n. elim n asp [ [] ; [ "n'" ; "IHn'"]].
- reflexivity.
- simpl. rewrite <- IHn'.
reflexivity.
Qed.