simproc for ∃ a', ... ∧ a' = a ∧ ... #
This module implements the existsAndEq simproc that triggers on goals of the form ∃ a, body and
checks whether body has the form ... ∧ a = a' ∧ ... or ... ∧ a' = a ∧ ... for some a' that
is independent of a. If so, it replaces all occurrences of a with a' and removes the
quantifier.
For an expression p of the form fun (x : α) ↦ (body : Prop), checks whether
body implies x = a for some a, and constructs a proof of (∃ x, p x) = p a using
exists_of_imp_eq.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Traverses the expression h, branching at each And, to find a proof of x = a
for some a.
Triggers on goals of the form ∃ a, body and checks whether body has the
form ... ∧ a = a' ∧ ... or ... ∧ a' = a ∧ ... for some a' that is independent of a.
If so, it replaces all occurrences of a with a' and removes the quantifier.
Equations
- One or more equations did not get rendered due to their size.