lean2/tests/lean/run/tactic25.lean
Leonardo de Moura e379034b95 feat(library/tactic): improve 'assumption' tactic
- It uses the unifier in "conservative" mode
- It only affects the current goal

closes #570
2015-05-02 17:33:54 -07:00

22 lines
642 B
Text
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

import logic
open tactic
definition my_tac1 := apply @eq.refl
definition my_tac2 := repeat (or_else (apply and.intro) assumption)
tactic_hint my_tac1
tactic_hint my_tac2
theorem T1 {A : Type.{2}} (a : A) : a = a
theorem T2 {a b c : Prop} (Ha : a) (Hb : b) (Hc : c) : a ∧ b ∧ c
notation `(` h `|` r:(foldl `|` (e r, tactic.or_else r e) h) `)` := r
infixl `;`:15 := tactic.and_then
definition my_tac3 := fixpoint (λ f, (apply or.intro_left; f |
apply or.intro_right; f |
assumption))
tactic_hint my_tac3
theorem T3 {a b c : Prop} (Hb : b) : a b c