refactor(tools/super/simp): do not enable simp by default

simp interacts badly with super's term ordering.  I believe a better
approach is to pick the term ordering according to the available simp
rules, as in "More SPASS with Isabelle".
This commit is contained in:
Gabriel Ebner 2017-01-08 10:45:48 +01:00 committed by Leonardo de Moura
parent 4e1106ffb5
commit 244e061f76
2 changed files with 3 additions and 5 deletions

View file

@ -35,7 +35,6 @@ on_right_at' c i $ λhyp, do
prf ← mk_app ``eq.mpr [heqsymm, hyp],
return [(add_hyps, prf)]
@[super.inf]
meta def simp_inf : inf_decl := inf_decl.mk 40 $ take given, sequence' $ do
r ← [try_simplify_right, try_simplify_left],
i ← list.range given^.c^.num_lits,

View file

@ -23,11 +23,10 @@ example (n : ) : n > 0 ↔ is_positive n := by super
example (m n : ) : 0 + m = 0 + n → m = n :=
by super with nat.zero_add
local attribute [simp] nat.zero_add nat.succ_add
@[simp] lemma nat_add_succ (m n : ) : m + nat.succ n = nat.succ (m + n) := rfl
@[simp] lemma nat_zero_has_zero : nat.zero = 0 := rfl
example : ∀x y : , x + y = y + x :=
begin intros, induction x, super, super end
begin intros, induction x,
super with nat.add_zero nat.zero_add,
super with nat.add_succ nat.succ_add end
example (i) [inhabited i] : nonempty i := by super
example (i) [nonempty i] : ¬(inhabited i → false) := by super