2014-08-25 02:58:48 +00:00
|
|
|
|
import logic
|
2014-09-03 23:00:38 +00:00
|
|
|
|
open tactic
|
2014-07-08 21:28:33 +00:00
|
|
|
|
|
2015-04-28 00:46:13 +00:00
|
|
|
|
notation `(` h `|` r:(foldl `|` (e r, tactic.or_else r e) h) `)` := r
|
|
|
|
|
infixl `;`:15 := tactic.and_then
|
|
|
|
|
|
2014-09-04 23:36:06 +00:00
|
|
|
|
definition my_tac1 := apply @eq.refl
|
2015-05-03 00:32:03 +00:00
|
|
|
|
definition my_tac2 := repeat (apply @and.intro | assumption)
|
2014-07-08 21:28:33 +00:00
|
|
|
|
|
|
|
|
|
tactic_hint my_tac1
|
|
|
|
|
tactic_hint my_tac2
|
|
|
|
|
|
|
|
|
|
theorem T1 {A : Type.{2}} (a : A) : a = a
|
|
|
|
|
:= _
|
|
|
|
|
|
2014-07-22 16:43:18 +00:00
|
|
|
|
theorem T2 {a b c : Prop} (Ha : a) (Hb : b) (Hc : c) : a ∧ b ∧ c
|
2014-07-08 21:28:33 +00:00
|
|
|
|
:= _
|
|
|
|
|
|
2015-04-06 16:24:09 +00:00
|
|
|
|
definition my_tac3 := fixpoint (λ f, (apply @or.intro_left; f |
|
2014-09-04 23:36:06 +00:00
|
|
|
|
apply @or.intro_right; f |
|
2015-04-06 16:24:09 +00:00
|
|
|
|
assumption))
|
2014-07-08 21:28:33 +00:00
|
|
|
|
|
2014-10-07 16:44:01 +00:00
|
|
|
|
tactic_hint my_tac3
|
2014-07-08 21:28:33 +00:00
|
|
|
|
|
2014-07-22 16:43:18 +00:00
|
|
|
|
theorem T3 {a b c : Prop} (Hb : b) : a ∨ b ∨ c
|
2014-07-08 21:28:33 +00:00
|
|
|
|
:= _
|