2014-08-25 02:58:48 +00:00
|
|
|
import logic
|
2014-09-03 23:00:38 +00:00
|
|
|
open tactic
|
2014-06-30 07:51:11 +00:00
|
|
|
|
2014-07-22 16:43:18 +00:00
|
|
|
theorem tst (a b : Prop) (H : a ↔ b) : b ↔ a
|
2014-09-08 14:47:42 +00:00
|
|
|
:= have H1 [visible] : a → b, -- We need to mark H1 as fact, otherwise it is not visible by tactics
|
2014-09-05 04:25:21 +00:00
|
|
|
from iff.elim_left H,
|
2014-10-23 01:11:09 +00:00
|
|
|
by rapply iff.intro;
|
2014-10-15 00:12:57 +00:00
|
|
|
apply (assume Ha, H1 Ha);
|
|
|
|
apply (assume Hb, iff.elim_right H Hb)
|
|
|
|
|
|
|
|
theorem tst2 (a b : Prop) (H : a ↔ b) : b ↔ a
|
|
|
|
:= have H1 [visible] : a → b,
|
|
|
|
from iff.elim_left H,
|
|
|
|
begin
|
2014-10-23 01:11:09 +00:00
|
|
|
rapply iff.intro,
|
2014-10-15 00:12:57 +00:00
|
|
|
apply (assume Ha, H1 Ha),
|
|
|
|
apply (assume Hb, iff.elim_right H Hb)
|
|
|
|
end
|