2014-10-30 03:34:01 +00:00
|
|
|
import logic
|
|
|
|
|
|
|
|
set_option pp.notation false
|
|
|
|
set_option pp.implicit true
|
|
|
|
|
|
|
|
theorem tst (A B : Type) (a : A) (b : B) : a == b → b == a :=
|
|
|
|
begin
|
|
|
|
intro H,
|
|
|
|
generalize B, -- Should produce an error
|
|
|
|
intro B',
|
|
|
|
apply (heq.symm H),
|
|
|
|
end
|
|
|
|
|
2015-03-13 21:47:21 +00:00
|
|
|
theorem tst2 (A B : Type) (a : A) (b : B) : a == b → b == a :=
|
2014-10-30 03:34:01 +00:00
|
|
|
begin
|
|
|
|
generalize a,
|
|
|
|
generalize b,
|
|
|
|
generalize B,
|
|
|
|
intro B',
|
|
|
|
intro b,
|
|
|
|
intro a,
|
|
|
|
intro H,
|
|
|
|
apply (heq.symm H),
|
|
|
|
end
|