Library Mtac2Tests.intropatt
From Mtac2 Require Import Mtac2 IntroPatt.
Goal True -> True -> True.
MProof.
pintros \x y //.
Qed.
Goal nat -> True -> True.
MProof.
pintros [| ~~ | \x ] \t //.
Qed.
Goal forall x y z : nat, x = y -> x + z = y + z.
MProof.
pintros \x y z r> //.
Qed.
Goal forall x y z : nat, x = y -> x + z = y + z.
MProof.
pintros \x y z <l //.
Qed.
Goal forall x y z : nat, x + z = y + z.
MProof.
Fail pintros \x y z //. Abort.
Goal forall x z : nat, (forall y, y+0 = y) -> x + z = z + x.
MProof.
(pintros [| ~~ | \x'] [| ~~ | \z'] /=) &> [i: // | r> // | r> // | \IH].
Abort.
Goal True -> True -> True.
MProof.
pintros \x y //.
Qed.
Goal nat -> True -> True.
MProof.
pintros [| ~~ | \x ] \t //.
Qed.
Goal forall x y z : nat, x = y -> x + z = y + z.
MProof.
pintros \x y z r> //.
Qed.
Goal forall x y z : nat, x = y -> x + z = y + z.
MProof.
pintros \x y z <l //.
Qed.
Goal forall x y z : nat, x + z = y + z.
MProof.
Fail pintros \x y z //. Abort.
Goal forall x z : nat, (forall y, y+0 = y) -> x + z = z + x.
MProof.
(pintros [| ~~ | \x'] [| ~~ | \z'] /=) &> [i: // | r> // | r> // | \IH].
Abort.