Prefix of the implDetail
hyps added by forward
.
Equations
- Aesop.forwardImplDetailHypPrefix = `__aesop.fwd
Instances For
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
Instances For
Parse a name generated by forwardImplDetailHypName
, obtaining the
fwdHypName
and depth
.
Equations
- One or more equations did not get rendered due to their size.
Instances For
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
Instances For
Equations
- Aesop.isForwardImplDetailHyp ldecl = (ldecl.isImplementationDetail && Aesop.isForwardImplDetailHypName ldecl.userName)
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- Aesop.clearForwardImplDetailHyps goal = goal.withContext do let hyps ← Aesop.getForwardImplDetailHyps goal.tryClearMany (Array.map (fun (x : Lean.LocalDecl) => x.fvarId) hyps)
Instances For
- types : Lean.HashSet Lean.Expr
Types of the hypotheses that have already been added by forward reasoning.
- depths : Lean.HashMap Lean.FVarId Nat
Depths of the hypotheses that have already been added by forward reasoning.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
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.