lean2/tests/lean/run/blast_cc12.lean

30 lines
641 B
Text

set_option blast.subst false
set_option blast.simp false
set_option pp.all true
definition foo1 (a b : nat) (p : Prop) : a = b → (b = a → p) → p :=
by blast
print foo1
definition foo2 (a b c : nat) (p : Prop) : a = b → b = c → (c = a → p) → p :=
by blast
print foo2
definition foo3 (a b c d : nat) (p : Prop) : a ≠ d → (d ≠ a → p) → p :=
by blast
print foo3
attribute not [reducible]
definition foo4 (a b c d : nat) (p : Prop) : a ≠ d → (d ≠ a → p) → p :=
by blast
attribute ne [semireducible]
definition foo5 (a b c d : nat) (p : Prop) : a ≠ d → (d ≠ a → p) → p :=
by blast
print foo5