This PR fixes a bug in `sym =>` interactive mode where goals whose metavariable was assigned by `isDefEq` (e.g. via `apply Eq.refl`) were not pruned. `pruneSolvedGoals` previously only filtered out goals flagged as inconsistent, so an already-assigned goal would linger as an unsolved goal. It now also removes goals whose metavariable is already assigned. Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
21 lines
482 B
Text
21 lines
482 B
Text
|
|
example (p q : Prop) : p → q → p ∧ q := by
|
|
sym =>
|
|
intro hp hq
|
|
apply And.intro
|
|
apply hp
|
|
apply hq
|
|
|
|
register_sym_simp chainSimp where
|
|
post := ground >> rewrite [Nat.add_zero, Nat.zero_add]
|
|
|
|
example (x y : Nat) (h : x ≤ y) : (1 - 1) + x ≤ y + (1 + 0) := by
|
|
sym =>
|
|
simp chainSimp
|
|
-- In the following tactic the goal is closed while preprocessing the target
|
|
lia
|
|
|
|
example : ∃ x, x = a := by
|
|
sym =>
|
|
apply Exists.intro
|
|
apply Eq.refl
|