2014-01-05 20:05:08 +00:00
|
|
|
import Int.
|
2014-01-05 18:32:47 +00:00
|
|
|
(* import("tactic.lua") *)
|
2014-01-05 20:05:08 +00:00
|
|
|
variable f : Int -> Int -> Int
|
2013-12-07 21:09:39 +00:00
|
|
|
|
2014-01-05 18:32:47 +00:00
|
|
|
(*
|
2014-01-06 03:10:21 +00:00
|
|
|
refl_tac = apply_tac("refl")
|
|
|
|
congr_tac = apply_tac("congr")
|
|
|
|
symm_tac = apply_tac("symm")
|
|
|
|
trans_tac = apply_tac("trans")
|
2013-12-07 21:09:39 +00:00
|
|
|
unfold_homo_eq_tac = unfold_tac("eq")
|
2013-12-26 23:54:53 +00:00
|
|
|
auto = unfold_homo_eq_tac .. Repeat(OrElse(refl_tac, congr_tac, assumption_tac(), Then(symm_tac, assumption_tac(), now_tac())))
|
2014-01-05 18:32:47 +00:00
|
|
|
*)
|
2013-12-07 21:09:39 +00:00
|
|
|
|
2014-01-05 20:05:08 +00:00
|
|
|
theorem T1 (a b c : Int) (H1 : a = b) (H2 : a = c) : (f (f a a) b) = (f (f b c) a).
|
2013-12-26 23:54:53 +00:00
|
|
|
auto.
|
2013-12-07 21:09:39 +00:00
|
|
|
done.
|
|
|
|
|
2014-01-05 20:05:08 +00:00
|
|
|
theorem T2 (a b c : Int) (H1 : a = b) (H2 : a = c) : (f (f a c)) = (f (f b a)).
|
2013-12-26 23:54:53 +00:00
|
|
|
auto.
|
2013-12-07 21:09:39 +00:00
|
|
|
done.
|
|
|
|
|
2014-01-05 20:05:08 +00:00
|
|
|
print environment 2.
|