simproc for ∃ a', ... ∧ a' = a ∧ ... #
This module implements the existsAndEq simproc that checks whether P a' has
the form ... ∧ a' = a ∧ ... or ... ∧ a = a' ∧ ... for the goal ∃ a', P a'.
If so, it rewrites the latter as P a.
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.
Checks whether P a' has the form ... ∧ a' = a ∧ ... or ... ∧ a = a' ∧ ... in
the goal ∃ a', P a'. If so, rewrites the goal as P a.
Equations
- One or more equations did not get rendered due to their size.