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 of the hypotheses that have already been added by forward reasoning.
- depths : Std.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
Equations
- data.containsTypeUpToIds type = Array.anyM (fun (knownType : Lean.Expr) => Aesop.exprsEqualUpToIds' type knownType true) data.types
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.