Commit graph

6 commits

Author SHA1 Message Date
Leonardo de Moura
dd3616dd16 feat(library/init/meta/interactive): simp_all ==> simp * at *
cc @Kha
2017-07-04 11:57:16 -07:00
Leonardo de Moura
bd9f54cfe7 test(tests/lean/run/1675): simp_all and let 2017-07-02 10:15:00 -07:00
Leonardo de Moura
7b802392ed fix(library/init/meta/simp_tactic): simp_all should fail if nothing was simplified 2017-07-01 21:06:07 -07:00
Leonardo de Moura
01003b79cc fix(library/init/meta/interactive): simp [...] at *
closes #1675

After this commit, the following example works as expected.
```
example (p : nat → Prop) (a b : nat) : a = 0 ∧ b = 0 → p (a + b) → p 0 :=
begin
  intros h₁ h₂,
  simp [h₁] at *,
  /- produces the state
     (p : nat → Prop) (a b : nat)
     h₁ : true
     h₂ : p 0
     |- p 0
  -/
  assumption
end
```
as expected.
Remark: the original issue raised by issue #1675 is actually solved by the
`simp_all` tactic.
2017-07-01 20:50:46 -07:00
Leonardo de Moura
3422c8816e feat(library/init/meta/simp_tactic): improved simp_all tactic
It now performs self simplification, and the performance is slightly
better. As described at issue #1675, only non dependent propositions
are considered.

@Armael: this tactic may be useful for you
2017-07-01 20:26:29 -07:00
Leonardo de Moura
14d768ffa2 feat(library/init/meta/interactive): add simp_all tactic
@Armael I added the simp_all tactic. See new test for an example.
2017-06-21 20:43:56 -07:00