Convert the given goal Ctx |- target into Ctx |- targetNew using an equality proof eqProof : target = targetNew.
It assumes eqProof has type target = targetNew
Equations
- One or more equations did not get rendered due to their size.
Convert the given goal Ctx | target into Ctx |- targetNew. It assumes the goals are definitionally equal.
We use the proof term
@id target mvarNew
to create a checkpoint.
Equations
- One or more equations did not get rendered due to their size.
Replace type of the local declaration with id fvarId with one with the same user-facing name, but with type typeNew.
This method assumes eqProof is a proof that type of fvarId is equal to typeNew.
This tactic actually adds a new declaration and (try to) clear the old one.
If the old one cannot be cleared, then at least its user-facing name becomes inaccessible.
Remark: the new declaration is added immediately after fvarId.
typeNew must be well-formed at fvarId, but eqProof may contain variables declared after fvarId.
Equations
- One or more equations did not get rendered due to their size.
Equations
- One or more equations did not get rendered due to their size.
Equations
- One or more equations did not get rendered due to their size.
Equations
- One or more equations did not get rendered due to their size.
Equations
- One or more equations did not get rendered due to their size.
Equations
- One or more equations did not get rendered due to their size.
Equations
- One or more equations did not get rendered due to their size.