The top-down analyzer is an optional preprocessor to the delaborator that aims to determine the minimal annotations necessary to ensure that the delaborated expression can be re-elaborated correctly. Currently, the top-down analyzer is neither sound nor complete: there may be edge-cases in which the expression can still not be re-elaborated correctly, and it may also add many annotations that are not strictly necessary.
Equations
- Lean.getPPAnalyze o = Lean.KVMap.get o Lean.pp.analyze.name Lean.pp.analyze.defValue
Instances For
Equations
Instances For
Equations
Instances For
Equations
- Lean.getPPAnalyzeTrustId o = Lean.KVMap.get o Lean.pp.analyze.trustId.name Lean.pp.analyze.trustId.defValue
Instances For
Equations
Instances For
Equations
- Lean.getPPAnalyzeOmitMax o = Lean.KVMap.get o Lean.pp.analyze.omitMax.name Lean.pp.analyze.omitMax.defValue
Instances For
Equations
Instances For
Equations
Instances For
Equations
- Lean.getPPAnalysisSkip o = Lean.KVMap.get o `pp.analysis.skip false
Instances For
Equations
- Lean.getPPAnalysisHole o = Lean.KVMap.get o `pp.analysis.hole false
Instances For
Equations
- Lean.getPPAnalysisLetVarType o = Lean.KVMap.get o `pp.analysis.letVarType false
Instances For
Equations
- Lean.getPPAnalysisBlockImplicit o = Lean.KVMap.get o `pp.analysis.blockImplicit false
Instances For
Equations
- Lean.PrettyPrinter.Delaborator.returnsPi motive = Lean.Meta.lambdaTelescope motive fun (x : Array Lean.Expr) (b : Lean.Expr) => pure b.isForall
Instances For
Equations
- Lean.PrettyPrinter.Delaborator.isNonConstFun (Lean.Expr.lam binderName binderType b binderInfo) = Lean.PrettyPrinter.Delaborator.isNonConstFun b
- Lean.PrettyPrinter.Delaborator.isNonConstFun motive = pure motive.hasLooseBVars
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Instances For
Equations
- Lean.PrettyPrinter.Delaborator.isIdLike (Lean.Expr.lam binderName binderType (Lean.Expr.bvar deBruijnIndex) binderInfo) = true
- Lean.PrettyPrinter.Delaborator.isIdLike arg = false
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Instances For
Instances For
Equations
- Lean.PrettyPrinter.Delaborator.TopDownAnalyze.isHigherOrder type = Lean.Meta.forallTelescopeReducing type fun (xs : Array Lean.Expr) (b : Lean.Expr) => pure (decide (xs.size > 0) && b.isSort)
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- Lean.PrettyPrinter.Delaborator.TopDownAnalyze.isSubstLike e = (e.isAppOfArity `Eq.ndrec 6 || e.isAppOfArity `Eq.rec 6)
Instances For
Instances For
Equations
- Lean.PrettyPrinter.Delaborator.TopDownAnalyze.mvarName mvar = do let __do_lift ← mvar.mvarId!.getDecl pure __do_lift.userName
Instances For
Instances For
- knowsType : Bool
- knowsLevel : Bool
- inBottomUp : Bool
- parentIsApp : Bool
- subExpr : Lean.SubExpr
Instances For
Equations
- One or more equations did not get rendered due to their size.
- annotations : Lean.PrettyPrinter.Delaborator.OptionsPerPos
Instances For
@[reducible, inline]
Instances For
Instances For
partial def
Lean.PrettyPrinter.Delaborator.TopDownAnalyze.inspectOutParams.inspectAux
(fType mType : Lean.Expr)
(i : Nat)
(args mvars : Array Lean.Expr)
:
Equations
- One or more equations did not get rendered due to their size.
Instances For
partial def
Lean.PrettyPrinter.Delaborator.TopDownAnalyze.canBottomUp
(e : Lean.Expr)
(mvar? : Option Lean.Expr := none)
(fuel : Nat := 10)
:
def
Lean.PrettyPrinter.Delaborator.TopDownAnalyze.withKnowing
{α : Type}
(knowsType knowsLevel : Bool)
(x : Lean.PrettyPrinter.Delaborator.TopDownAnalyze.AnalyzeM α)
:
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
def
Lean.PrettyPrinter.Delaborator.TopDownAnalyze.annotateBoolAt
(n : Lean.Name)
(pos : Lean.SubExpr.Pos)
:
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
@[reducible, inline]
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
partial def
Lean.PrettyPrinter.Delaborator.TopDownAnalyze.analyzeAppStagedCore.applyFunBinderHeuristic.core
(args mvars : Array Lean.Expr)
(bInfos : Array Lean.BinderInfo)
(argIdx : Nat)
(mvarType : Lean.Expr)
: