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