2014-01-05 20:05:08 +00:00
|
|
|
import Int.
|
2014-01-05 18:32:47 +00:00
|
|
|
(*
|
2013-12-07 23:37:54 +00:00
|
|
|
|
2014-01-06 03:10:21 +00:00
|
|
|
-- Tactic for trying to prove goal using reflexivity, congruence and available assumptions
|
|
|
|
congr_tac = Try(unfold_tac("eq")) .. Repeat(OrElse(apply_tac("refl"), apply_tac("congr"), assumption_tac()))
|
2013-12-07 23:37:54 +00:00
|
|
|
|
2014-01-05 18:32:47 +00:00
|
|
|
*)
|
2013-12-07 23:37:54 +00:00
|
|
|
|
2014-01-16 00:35:33 +00:00
|
|
|
exit -- temporarily disable the following test
|
|
|
|
|
2014-01-05 20:05:08 +00:00
|
|
|
theorem T1 (a b : Int) (f : Int -> Int) : a = b -> (f (f a)) = (f (f b)) :=
|
2013-12-07 23:37:54 +00:00
|
|
|
fun assumption : a = b,
|
2014-01-05 19:25:58 +00:00
|
|
|
have (f (f a)) = (f (f b)) by congr_tac
|
2013-12-07 23:37:54 +00:00
|
|
|
|
2014-01-05 20:05:08 +00:00
|
|
|
print environment 1.
|