Prefix of the regular hyps added by forward
.
Equations
- Aesop.forwardHypPrefix = `fwd
Prefix of the implDetail
hyps added by forward
.
Equations
- Aesop.forwardImplDetailHypPrefix = `__aesop.fwd
Name of the implDetail
hyp corresponding to the forward hyp
with name
fwdHypName
and depth depth
.
Equations
- Aesop.forwardImplDetailHypName fwdHypName depth = Aesop.forwardImplDetailHypPrefix.num depth ++ fwdHypName
Parse a name generated by forwardImplDetailHypName
, obtaining the
fwdHypName
and depth
.
Equations
- One or more equations did not get rendered due to their size.
Check whether the given name was generated by forwardImplDetailHypName
.
We assume that nobody else adds hyps with the forwardImplHypDetailPrefix
prefix.
Equations
- Aesop.isForwardImplDetailHypName n = `__aesop.fwd.isPrefixOf n
Equations
- Aesop.isForwardImplDetailHyp ldecl = (ldecl.isImplementationDetail && Aesop.isForwardImplDetailHypName ldecl.userName)
Equations
- One or more equations did not get rendered due to their size.
Equations
- Aesop.clearForwardImplDetailHyps goal = goal.withContext do let hyps ← Aesop.getForwardImplDetailHyps goal.tryClearMany (Array.map (fun (x : Lean.LocalDecl) => x.fvarId) hyps)
- depths : Std.HashMap Lean.FVarId Nat
Depths of the hypotheses that have already been added by forward reasoning.
Equations
- One or more equations did not get rendered due to their size.
Mark hypotheses that, according to their name, are forward implementation detail hypotheses, as implementation details. This is a hack that works around the fact that certain tactics (particularly anything based on the revert-intro pattern) can turn implementation detail hyps into regular hyps.
Equations
- One or more equations did not get rendered due to their size.