chore: update stage0
This commit is contained in:
parent
48b855bfe5
commit
bd004b4681
70 changed files with 18765 additions and 18775 deletions
2
stage0/src/Init/Control/ExceptCps.lean
generated
2
stage0/src/Init/Control/ExceptCps.lean
generated
|
|
@ -46,7 +46,7 @@ instance [Inhabited ε] : Inhabited (ExceptCpsT ε m α) where
|
|||
|
||||
@[simp] theorem run_pure [Monad m] : run (pure x : ExceptCpsT ε m α) = pure (Except.ok x) := rfl
|
||||
|
||||
@[simp] theorem run_lift {α ε : Type u} [Monad m] (x : m α) : run (ExceptCpsT.lift x : ExceptCpsT ε m α) = x >>= fun a => pure (Except.ok a) := rfl
|
||||
@[simp] theorem run_lift {α ε : Type u} [Monad m] (x : m α) : run (ExceptCpsT.lift x : ExceptCpsT ε m α) = (x >>= fun a => pure (Except.ok a) : m (Except ε α)) := rfl
|
||||
|
||||
@[simp] theorem run_throw [Monad m] : run (throw e : ExceptCpsT ε m β) = pure (Except.error e) := rfl
|
||||
|
||||
|
|
|
|||
8
stage0/src/Init/Control/Lawful.lean
generated
8
stage0/src/Init/Control/Lawful.lean
generated
|
|
@ -30,8 +30,8 @@ class LawfulApplicative (f : Type u → Type v) [Applicative f] extends LawfulFu
|
|||
seqRight_eq (x : f α) (y : f β) : x *> y = const α id <$> x <*> y
|
||||
pure_seq (g : α → β) (x : f α) : pure g <*> x = g <$> x
|
||||
map_pure (g : α → β) (x : α) : g <$> (pure x : f α) = pure (g x)
|
||||
seq_pure (g : f (α → β)) (x : α) : g <*> pure x = (fun h => h x) <$> g
|
||||
seq_assoc (x : f α) (g : f (α → β)) (h : f (β → γ)) : h <*> (g <*> x) = ((. ∘ .) <$> h) <*> g <*> x
|
||||
seq_pure {α β : Type u} (g : f (α → β)) (x : α) : g <*> pure x = (fun h => h x) <$> g
|
||||
seq_assoc {α β γ : Type u} (x : f α) (g : f (α → β)) (h : f (β → γ)) : h <*> (g <*> x) = ((@comp α β γ) <$> h) <*> g <*> x
|
||||
comp_map g h x := by
|
||||
repeat rw [← pure_seq]
|
||||
simp [seq_assoc, map_pure, seq_pure]
|
||||
|
|
@ -45,7 +45,7 @@ attribute [simp] map_pure seq_pure
|
|||
|
||||
class LawfulMonad (m : Type u → Type v) [Monad m] extends LawfulApplicative m : Prop where
|
||||
bind_pure_comp (f : α → β) (x : m α) : x >>= pure ∘ f = f <$> x
|
||||
bind_map (f : m (α → (β : Type u))) (x : m α) : f >>= (. <$> x) = f <*> x
|
||||
bind_map {α β : Type u} (f : m (α → β)) (x : m α) : f >>= (. <$> x) = f <*> x
|
||||
pure_bind (x : α) (f : α → m β) : pure x >>= f = f x
|
||||
bind_assoc (x : m α) (f : α → m β) (g : β → m γ) : x >>= f >>= g = x >>= fun x => f x >>= g
|
||||
map_pure g x := by rw [← bind_pure_comp, pure_bind]
|
||||
|
|
@ -116,7 +116,7 @@ theorem ext [Monad m] {x y : ExceptT ε m α} (h : x.run = y.run) : x = y := by
|
|||
|
||||
@[simp] theorem run_pure [Monad m] : run (pure x : ExceptT ε m α) = pure (Except.ok x) := rfl
|
||||
|
||||
@[simp] theorem run_lift [Monad m] : run (ExceptT.lift x : ExceptT ε m α) = Except.ok <$> x := rfl
|
||||
@[simp] theorem run_lift [Monad m] (x : m α) : run (ExceptT.lift x : ExceptT ε m α) = (Except.ok <$> x : m (Except ε α)) := rfl
|
||||
|
||||
@[simp] theorem run_throw [Monad m] : run (throw e : ExceptT ε m β) = pure (Except.error e) := rfl
|
||||
|
||||
|
|
|
|||
11
stage0/src/Lean/Data/Lsp/Diagnostics.lean
generated
11
stage0/src/Lean/Data/Lsp/Diagnostics.lean
generated
|
|
@ -72,6 +72,8 @@ structure DiagnosticRelatedInformation where
|
|||
|
||||
structure Diagnostic where
|
||||
range : Range
|
||||
/-- extension: preserve semantic range of errors when truncating them for display purposes -/
|
||||
fullRange : Range := range
|
||||
severity? : Option DiagnosticSeverity := none
|
||||
code? : Option DiagnosticCode := none
|
||||
source? : Option String := none
|
||||
|
|
@ -89,6 +91,7 @@ structure PublishDiagnosticsParams where
|
|||
/-- Transform a Lean Message concerning the given text into an LSP Diagnostic. -/
|
||||
def msgToDiagnostic (text : FileMap) (m : Message) : IO Diagnostic := do
|
||||
let low : Lsp.Position := text.leanPosToLspPos m.pos
|
||||
let fullHigh := text.leanPosToLspPos <| m.endPos.getD m.pos
|
||||
let high : Lsp.Position := match m.endPos with
|
||||
| some endPos =>
|
||||
/-
|
||||
|
|
@ -100,6 +103,7 @@ def msgToDiagnostic (text : FileMap) (m : Message) : IO Diagnostic := do
|
|||
text.leanPosToLspPos endPos
|
||||
| none => low
|
||||
let range : Range := ⟨low, high⟩
|
||||
let fullRange : Range := ⟨low, fullHigh⟩
|
||||
let severity := match m.severity with
|
||||
| MessageSeverity.information => DiagnosticSeverity.information
|
||||
| MessageSeverity.warning => DiagnosticSeverity.warning
|
||||
|
|
@ -107,9 +111,10 @@ def msgToDiagnostic (text : FileMap) (m : Message) : IO Diagnostic := do
|
|||
let source := "Lean 4 server"
|
||||
let message ← m.data.toString
|
||||
pure {
|
||||
range := range,
|
||||
severity? := severity,
|
||||
source? := source,
|
||||
range := range
|
||||
fullRange := fullRange
|
||||
severity? := severity
|
||||
source? := source
|
||||
message := message
|
||||
}
|
||||
|
||||
|
|
|
|||
1
stage0/src/Lean/Data/Lsp/Extra.lean
generated
1
stage0/src/Lean/Data/Lsp/Extra.lean
generated
|
|
@ -39,6 +39,7 @@ structure PlainGoalParams extends TextDocumentPositionParams
|
|||
|
||||
structure PlainGoal where
|
||||
rendered : String
|
||||
goals : Array String
|
||||
deriving FromJson, ToJson
|
||||
|
||||
end Lean.Lsp
|
||||
|
|
|
|||
12
stage0/src/Lean/Elab/App.lean
generated
12
stage0/src/Lean/Elab/App.lean
generated
|
|
@ -292,13 +292,13 @@ private def propagateExpectedType (arg : Arg) : M Unit := do
|
|||
modify fun s => { s with propagateExpected := false }
|
||||
else
|
||||
let numRemainingArgs := s.args.length
|
||||
trace[Elab.app.propagateExpectedType]! "etaArgs.size: {s.etaArgs.size}, numRemainingArgs: {numRemainingArgs}, fType: {s.fType}"
|
||||
trace[Elab.app.propagateExpectedType] "etaArgs.size: {s.etaArgs.size}, numRemainingArgs: {numRemainingArgs}, fType: {s.fType}"
|
||||
match getForallBody s.explicit numRemainingArgs s.namedArgs s.fType with
|
||||
| none => pure ()
|
||||
| some fTypeBody =>
|
||||
unless fTypeBody.hasLooseBVars do
|
||||
unless (← hasOptAutoParams fTypeBody) do
|
||||
trace[Elab.app.propagateExpectedType]! "{expectedType} =?= {fTypeBody}"
|
||||
trace[Elab.app.propagateExpectedType] "{expectedType} =?= {fTypeBody}"
|
||||
if (← isDefEq expectedType fTypeBody) then
|
||||
/- Note that we only set `propagateExpected := false` when propagation has succeeded. -/
|
||||
modify fun s => { s with propagateExpected := false }
|
||||
|
|
@ -319,7 +319,7 @@ private def finalize : M Expr := do
|
|||
let s ← get
|
||||
let mut e := s.f
|
||||
-- all user explicit arguments have been consumed
|
||||
trace[Elab.app.finalize]! e
|
||||
trace[Elab.app.finalize] e
|
||||
let ref ← getRef
|
||||
-- Register the error context of implicits
|
||||
for mvarId in s.toSetErrorCtx do
|
||||
|
|
@ -331,11 +331,11 @@ private def finalize : M Expr := do
|
|||
`s.etaArgs.isEmpty`. Reason: it may have been unfolded.
|
||||
-/
|
||||
let eType ← inferType e
|
||||
trace[Elab.app.finalize]! "after etaArgs, {e} : {eType}"
|
||||
trace[Elab.app.finalize] "after etaArgs, {e} : {eType}"
|
||||
match s.expectedType? with
|
||||
| none => pure ()
|
||||
| some expectedType =>
|
||||
trace[Elab.app.finalize]! "expected type: {expectedType}"
|
||||
trace[Elab.app.finalize] "expected type: {expectedType}"
|
||||
-- Try to propagate expected type. Ignore if types are not definitionally equal, caller must handle it.
|
||||
discard <| isDefEq expectedType eType
|
||||
synthesizeAppInstMVars
|
||||
|
|
@ -485,7 +485,7 @@ def elabAppArgs (f : Expr) (namedArgs : Array NamedArg) (args : Array Arg)
|
|||
(expectedType? : Option Expr) (explicit ellipsis : Bool) : TermElabM Expr := do
|
||||
let fType ← inferType f
|
||||
let fType ← instantiateMVars fType
|
||||
trace[Elab.app.args]! "explicit: {explicit}, {f} : {fType}"
|
||||
trace[Elab.app.args] "explicit: {explicit}, {f} : {fType}"
|
||||
unless namedArgs.isEmpty && args.isEmpty do
|
||||
tryPostponeIfMVar fType
|
||||
ElabAppArgs.main.run' {
|
||||
|
|
|
|||
4
stage0/src/Lean/Elab/Binders.lean
generated
4
stage0/src/Lean/Elab/Binders.lean
generated
|
|
@ -64,7 +64,7 @@ def declareTacticSyntax (tactic : Syntax) : TermElabM Name :=
|
|||
let tactic ← quoteAutoTactic tactic
|
||||
let val ← elabTerm tactic type
|
||||
let val ← instantiateMVars val
|
||||
trace[Elab.autoParam]! val
|
||||
trace[Elab.autoParam] val
|
||||
let decl := Declaration.defnDecl { name := name, levelParams := [], type := type, value := val, hints := ReducibilityHints.opaque,
|
||||
safety := DefinitionSafety.safe }
|
||||
addDecl decl
|
||||
|
|
@ -518,7 +518,7 @@ def elabLetDeclAux (id : Syntax) (binders : Array Syntax) (typeStx : Syntax) (va
|
|||
let type ← mkForallFVars xs type
|
||||
let val ← mkLambdaFVars xs val
|
||||
pure (type, val, xs.size)
|
||||
trace[Elab.let.decl]! "{id.getId} : {type} := {val}"
|
||||
trace[Elab.let.decl] "{id.getId} : {type} := {val}"
|
||||
let result ←
|
||||
if useLetExpr then
|
||||
withLetDecl id.getId type val fun x => do
|
||||
|
|
|
|||
1
stage0/src/Lean/Elab/BuiltinNotation.lean
generated
1
stage0/src/Lean/Elab/BuiltinNotation.lean
generated
|
|
@ -154,7 +154,6 @@ private def getPropToDecide (expectedType? : Option Expr) : TermElabM Expr := do
|
|||
|
||||
@[builtinTermElab Lean.Parser.Term.decide] def elabDecide : TermElab := fun stx expectedType? => do
|
||||
let p ← getPropToDecide expectedType?
|
||||
trace[Meta.debug]! "elabDecide: {p}"
|
||||
let d ← mkDecide p
|
||||
let d ← instantiateMVars d
|
||||
let r ← withDefault <| whnf d
|
||||
|
|
|
|||
2
stage0/src/Lean/Elab/Deriving/BEq.lean
generated
2
stage0/src/Lean/Elab/Deriving/BEq.lean
generated
|
|
@ -94,7 +94,7 @@ def mkMutualBlock (ctx : Context) : TermElabM Syntax := do
|
|||
private def mkBEqInstanceCmds (declNames : Array Name) : TermElabM (Array Syntax) := do
|
||||
let ctx ← mkContext "beq" declNames[0]
|
||||
let cmds := #[← mkMutualBlock ctx] ++ (← mkInstanceCmds ctx `BEq declNames)
|
||||
trace[Elab.Deriving.beq]! "\n{cmds}"
|
||||
trace[Elab.Deriving.beq] "\n{cmds}"
|
||||
return cmds
|
||||
|
||||
open Command
|
||||
|
|
|
|||
2
stage0/src/Lean/Elab/Deriving/DecEq.lean
generated
2
stage0/src/Lean/Elab/Deriving/DecEq.lean
generated
|
|
@ -90,7 +90,7 @@ def mkAuxFunction (ctx : Context) : TermElabM Syntax := do
|
|||
def mkDecEqCmds (indVal : InductiveVal) : TermElabM (Array Syntax) := do
|
||||
let ctx ← mkContext "decEq" indVal.name
|
||||
let cmds := #[← mkAuxFunction ctx] ++ (← mkInstanceCmds ctx `DecidableEq #[indVal.name] (useAnonCtor := false))
|
||||
trace[Elab.Deriving.decEq]! "\n{cmds}"
|
||||
trace[Elab.Deriving.decEq] "\n{cmds}"
|
||||
return cmds
|
||||
|
||||
open Command
|
||||
|
|
|
|||
10
stage0/src/Lean/Elab/Deriving/Inhabited.lean
generated
10
stage0/src/Lean/Elab/Deriving/Inhabited.lean
generated
|
|
@ -30,7 +30,7 @@ where
|
|||
let instType ← mkAppM `Inhabited #[x]
|
||||
if (← isTypeCorrect instType) then
|
||||
withLocalDeclD (← mkFreshUserName `inst) instType fun inst => do
|
||||
trace[Elab.Deriving.inhabited]! "adding local instance {instType}"
|
||||
trace[Elab.Deriving.inhabited] "adding local instance {instType}"
|
||||
addLocalInstancesForParamsAux k xs (i+1) (map.insert inst.fvarId! i)
|
||||
else
|
||||
addLocalInstancesForParamsAux k xs (i+1) map
|
||||
|
|
@ -89,20 +89,20 @@ where
|
|||
for i in [ctorVal.numParams:xs.size] do
|
||||
let x := xs[i]
|
||||
let instType ← mkAppM `Inhabited #[(← inferType x)]
|
||||
trace[Elab.Deriving.inhabited]! "checking {instType} for '{ctorName}'"
|
||||
trace[Elab.Deriving.inhabited] "checking {instType} for '{ctorName}'"
|
||||
match (← trySynthInstance instType) with
|
||||
| LOption.some e =>
|
||||
usedInstIdxs ← collectUsedLocalsInsts usedInstIdxs localInst2Index e
|
||||
| _ =>
|
||||
trace[Elab.Deriving.inhabited]! "failed to generate instance using '{ctorName}' {if addHypotheses then "(assuming parameters are inhabited)" else ""} because of field with type{indentExpr (← inferType x)}"
|
||||
trace[Elab.Deriving.inhabited] "failed to generate instance using '{ctorName}' {if addHypotheses then "(assuming parameters are inhabited)" else ""} because of field with type{indentExpr (← inferType x)}"
|
||||
ok := false
|
||||
break
|
||||
if !ok then
|
||||
return none
|
||||
else
|
||||
trace[Elab.Deriving.inhabited]! "inhabited instance using '{ctorName}' {if addHypotheses then "(assuming parameters are inhabited)" else ""} {usedInstIdxs.toList}"
|
||||
trace[Elab.Deriving.inhabited] "inhabited instance using '{ctorName}' {if addHypotheses then "(assuming parameters are inhabited)" else ""} {usedInstIdxs.toList}"
|
||||
let cmd ← mkInstanceCmdWith usedInstIdxs
|
||||
trace[Elab.Deriving.inhabited]! "\n{cmd}"
|
||||
trace[Elab.Deriving.inhabited] "\n{cmd}"
|
||||
return some cmd
|
||||
|
||||
private def mkInhabitedInstance (declName : Name) : CommandElabM Unit := do
|
||||
|
|
|
|||
2
stage0/src/Lean/Elab/Deriving/Repr.lean
generated
2
stage0/src/Lean/Elab/Deriving/Repr.lean
generated
|
|
@ -108,7 +108,7 @@ def mkMutualBlock (ctx : Context) : TermElabM Syntax := do
|
|||
private def mkReprInstanceCmds (declNames : Array Name) : TermElabM (Array Syntax) := do
|
||||
let ctx ← mkContext "repr" declNames[0]
|
||||
let cmds := #[← mkMutualBlock ctx] ++ (← mkInstanceCmds ctx `Repr declNames)
|
||||
trace[Elab.Deriving.repr]! "\n{cmds}"
|
||||
trace[Elab.Deriving.repr] "\n{cmds}"
|
||||
return cmds
|
||||
|
||||
open Command
|
||||
|
|
|
|||
3
stage0/src/Lean/Elab/Deriving/Util.lean
generated
3
stage0/src/Lean/Elab/Deriving/Util.lean
generated
|
|
@ -61,7 +61,7 @@ def mkContext (fnPrefix : String) (typeName : Name) : TermElabM Context := do
|
|||
match typeName.eraseMacroScopes with
|
||||
| Name.str _ t _ => auxFunNames := auxFunNames.push (← mkFreshUserName <| Name.mkSimple <| fnPrefix ++ t)
|
||||
| _ => auxFunNames := auxFunNames.push (← mkFreshUserName `instFn)
|
||||
trace[Elab.Deriving.beq]! "{auxFunNames}"
|
||||
trace[Elab.Deriving.beq] "{auxFunNames}"
|
||||
let usePartial := indVal.isNested || typeInfos.size > 1
|
||||
return {
|
||||
typeInfos := typeInfos
|
||||
|
|
@ -104,7 +104,6 @@ def mkInstanceCmds (ctx : Context) (className : Name) (typeNames : Array Name) (
|
|||
let type ← `($(mkIdent className) $indType)
|
||||
let val ← if useAnonCtor then `(⟨$(mkIdent auxFunName)⟩) else pure <| mkIdent auxFunName
|
||||
let instCmd ← `(instance $binders:implicitBinder* : $type := $val)
|
||||
trace[Meta.debug]! "\n{instCmd}"
|
||||
instances := instances.push instCmd
|
||||
return instances
|
||||
|
||||
|
|
|
|||
2
stage0/src/Lean/Elab/Do.lean
generated
2
stage0/src/Lean/Elab/Do.lean
generated
|
|
@ -1541,7 +1541,7 @@ def elabDo : TermElab := fun stx expectedType? => do
|
|||
let m ← mkMonadAlias bindInfo.m
|
||||
let codeBlock ← ToCodeBlock.run stx m
|
||||
let stxNew ← liftMacroM $ ToTerm.run codeBlock.code m
|
||||
trace[Elab.do]! stxNew
|
||||
trace[Elab.do] stxNew
|
||||
withMacroExpansion stx stxNew $ elabTermEnsuringType stxNew bindInfo.expectedType
|
||||
|
||||
end Do
|
||||
|
|
|
|||
3
stage0/src/Lean/Elab/Inductive.lean
generated
3
stage0/src/Lean/Elab/Inductive.lean
generated
|
|
@ -215,7 +215,6 @@ private def elabCtors (indFVars : Array Expr) (indFVar : Expr) (params : Array E
|
|||
let ctorParams ← Term.addAutoBoundImplicits ctorParams
|
||||
let type ← mkForallFVars ctorParams type
|
||||
let type ← mkForallFVars params type
|
||||
trace[Meta.debug]! "{ctorView.declName} : {type}"
|
||||
return { name := ctorView.declName, type := type }
|
||||
where
|
||||
checkParamOccs (ctorType : Expr) : MetaM Expr :=
|
||||
|
|
@ -339,7 +338,7 @@ private def updateResultingUniverse (numParams : Nat) (indTypes : List Inductive
|
|||
unless r.isParam do
|
||||
throwError "failed to compute resulting universe level of inductive datatype, provide universe explicitly"
|
||||
let us ← collectUniverses r rOffset numParams indTypes
|
||||
trace[Elab.inductive]! "updateResultingUniverse us: {us}, r: {r}, rOffset: {rOffset}"
|
||||
trace[Elab.inductive] "updateResultingUniverse us: {us}, r: {r}, rOffset: {rOffset}"
|
||||
let rNew := mkResultUniverse us rOffset
|
||||
let updateLevel (e : Expr) : Expr := e.replaceLevel fun u => if u == tmpIndParam then some rNew else none
|
||||
return indTypes.map fun indType =>
|
||||
|
|
|
|||
18
stage0/src/Lean/Elab/Match.lean
generated
18
stage0/src/Lean/Elab/Match.lean
generated
|
|
@ -47,7 +47,7 @@ private def elabDiscrsWitMatchType (discrStxs : Array Syntax) (matchType : Expr)
|
|||
match matchType with
|
||||
| Expr.forallE _ d b _ =>
|
||||
let discr ← fullApproxDefEq <| elabTermEnsuringType discrStx[1] d
|
||||
trace[Elab.match]! "discr #{i} {discr} : {d}"
|
||||
trace[Elab.match] "discr #{i} {discr} : {d}"
|
||||
if b.hasLooseBVars then
|
||||
isDep := true
|
||||
matchType ← b.instantiate1 discr
|
||||
|
|
@ -473,7 +473,7 @@ where
|
|||
|
||||
def main (alt : MatchAltView) : M MatchAltView := do
|
||||
let patterns ← alt.patterns.mapM fun p => do
|
||||
trace[Elab.match]! "collecting variables at pattern: {p}"
|
||||
trace[Elab.match] "collecting variables at pattern: {p}"
|
||||
collect p
|
||||
return { alt with patterns := patterns }
|
||||
|
||||
|
|
@ -552,13 +552,13 @@ def finalizePatternDecls (patternVarDecls : Array PatternVarDecl) : TermElabM (A
|
|||
decls := decls.push decl
|
||||
| PatternVarDecl.anonymousVar mvarId fvarId =>
|
||||
let e ← instantiateMVars (mkMVar mvarId);
|
||||
trace[Elab.match]! "finalizePatternDecls: mvarId: {mvarId} := {e}, fvar: {mkFVar fvarId}"
|
||||
trace[Elab.match] "finalizePatternDecls: mvarId: {mvarId} := {e}, fvar: {mkFVar fvarId}"
|
||||
match e with
|
||||
| Expr.mvar newMVarId _ =>
|
||||
/- Metavariable was not assigned, or assigned to another metavariable. So,
|
||||
we assign to the auxiliary free variable we created at `withPatternVars` to `newMVarId`. -/
|
||||
assignExprMVar newMVarId (mkFVar fvarId)
|
||||
trace[Elab.match]! "finalizePatternDecls: {mkMVar newMVarId} := {mkFVar fvarId}"
|
||||
trace[Elab.match] "finalizePatternDecls: {mkMVar newMVarId} := {mkFVar fvarId}"
|
||||
let decl ← getLocalDecl fvarId
|
||||
let decl ← instantiateLocalDeclMVars decl
|
||||
decls := decls.push decl
|
||||
|
|
@ -683,13 +683,13 @@ private def withElaboratedLHS {α} (ref : Syntax) (patternVarDecls : Array Patte
|
|||
|
||||
def elabMatchAltView (alt : MatchAltView) (matchType : Expr) : TermElabM (AltLHS × Expr) := withRef alt.ref do
|
||||
let (patternVars, alt) ← collectPatternVars alt
|
||||
trace[Elab.match]! "patternVars: {patternVars}"
|
||||
trace[Elab.match] "patternVars: {patternVars}"
|
||||
withPatternVars patternVars fun patternVarDecls => do
|
||||
withElaboratedLHS alt.ref patternVarDecls alt.patterns matchType fun altLHS matchType => do
|
||||
let rhs ← elabTermEnsuringType alt.rhs matchType
|
||||
let xs := altLHS.fvarDecls.toArray.map LocalDecl.toExpr
|
||||
let rhs ← if xs.isEmpty then pure <| mkSimpleThunk rhs else mkLambdaFVars xs rhs
|
||||
trace[Elab.match]! "rhs: {rhs}"
|
||||
trace[Elab.match] "rhs: {rhs}"
|
||||
return (altLHS, rhs)
|
||||
|
||||
def mkMatcher (elimName : Name) (matchType : Expr) (numDiscrs : Nat) (lhss : List AltLHS) : TermElabM MatcherResult :=
|
||||
|
|
@ -730,7 +730,7 @@ private def elabMatchAux (discrStxs : Array Syntax) (altViews : Array MatchAltVi
|
|||
let (discrs, matchType, altLHSS, isDep, rhss) ← commitIfDidNotPostpone do
|
||||
let ⟨discrs, matchType, isDep, altViews⟩ ← elabMatchTypeAndDiscrs discrStxs matchOptType altViews expectedType
|
||||
let matchAlts ← liftMacroM <| expandMacrosInPatterns altViews
|
||||
trace[Elab.match]! "matchType: {matchType}"
|
||||
trace[Elab.match] "matchType: {matchType}"
|
||||
let alts ← matchAlts.mapM fun alt => elabMatchAltView alt matchType
|
||||
/-
|
||||
We should not use `synthesizeSyntheticMVarsNoPostponing` here. Otherwise, we will not be
|
||||
|
|
@ -796,7 +796,7 @@ private def elabMatchAux (discrStxs : Array Syntax) (altViews : Array MatchAltVi
|
|||
let r := mkApp matcherResult.matcher motive
|
||||
let r := mkAppN r discrs
|
||||
let r := mkAppN r rhss
|
||||
trace[Elab.match]! "result: {r}"
|
||||
trace[Elab.match] "result: {r}"
|
||||
return r
|
||||
|
||||
private def getDiscrs (matchStx : Syntax) : Array Syntax :=
|
||||
|
|
@ -852,7 +852,7 @@ private def tryPostponeIfDiscrTypeIsMVar (matchStx : Syntax) : TermElabM Unit :=
|
|||
| none => throwErrorAt discr "unexpected discriminant" -- see `expandNonAtomicDiscrs?
|
||||
| some d =>
|
||||
let dType ← inferType d
|
||||
trace[Elab.match]! "discr {d} : {dType}"
|
||||
trace[Elab.match] "discr {d} : {dType}"
|
||||
tryPostponeIfMVar dType
|
||||
|
||||
/-
|
||||
|
|
|
|||
2
stage0/src/Lean/Elab/MutualDef.lean
generated
2
stage0/src/Lean/Elab/MutualDef.lean
generated
|
|
@ -438,7 +438,7 @@ private partial def mkClosureForAux (toProcess : Array FVarId) : StateRefT Closu
|
|||
match pickMaxFVar? lctx toProcess with
|
||||
| none => pure ()
|
||||
| some fvarId =>
|
||||
trace[Elab.definition.mkClosure]! "toProcess: {toProcess.map mkFVar}, maxVar: {mkFVar fvarId}"
|
||||
trace[Elab.definition.mkClosure] "toProcess: {toProcess.map mkFVar}, maxVar: {mkFVar fvarId}"
|
||||
let toProcess := toProcess.erase fvarId
|
||||
let localDecl ← getLocalDecl fvarId
|
||||
match localDecl with
|
||||
|
|
|
|||
8
stage0/src/Lean/Elab/PreDefinition/Main.lean
generated
8
stage0/src/Lean/Elab/PreDefinition/Main.lean
generated
|
|
@ -12,10 +12,10 @@ open Term
|
|||
|
||||
private def addAndCompilePartial (preDefs : Array PreDefinition) : TermElabM Unit := do
|
||||
for preDef in preDefs do
|
||||
trace[Elab.definition]! "processing {preDef.declName}"
|
||||
trace[Elab.definition] "processing {preDef.declName}"
|
||||
forallTelescope preDef.type fun xs type => do
|
||||
let inh ← liftM $ mkInhabitantFor preDef.declName xs type
|
||||
trace[Elab.definition]! "inhabitant for {preDef.declName}"
|
||||
trace[Elab.definition] "inhabitant for {preDef.declName}"
|
||||
addNonRec { preDef with
|
||||
kind := DefKind.«opaque»,
|
||||
value := inh
|
||||
|
|
@ -53,11 +53,11 @@ private def ensureNoUnassignedMVarsAtPreDef (preDef : PreDefinition) : TermElabM
|
|||
|
||||
def addPreDefinitions (preDefs : Array PreDefinition) : TermElabM Unit := do
|
||||
for preDef in preDefs do
|
||||
trace[Elab.definition.body]! "{preDef.declName} : {preDef.type} :=\n{preDef.value}"
|
||||
trace[Elab.definition.body] "{preDef.declName} : {preDef.type} :=\n{preDef.value}"
|
||||
for preDef in preDefs do
|
||||
ensureNoUnassignedMVarsAtPreDef preDef
|
||||
for preDefs in partitionPreDefs preDefs do
|
||||
trace[Elab.definition.scc]! "{preDefs.map (·.declName)}"
|
||||
trace[Elab.definition.scc] "{preDefs.map (·.declName)}"
|
||||
if preDefs.size == 1 && isNonRecursive preDefs[0] then
|
||||
let preDef := preDefs[0]
|
||||
if preDef.modifiers.isNoncomputable then
|
||||
|
|
|
|||
26
stage0/src/Lean/Elab/PreDefinition/Structural.lean
generated
26
stage0/src/Lean/Elab/PreDefinition/Structural.lean
generated
|
|
@ -183,7 +183,7 @@ private def throwToBelowFailed {α} : MetaM α :=
|
|||
private partial def toBelowAux (C : Expr) : Expr → Expr → Expr → MetaM Expr
|
||||
| belowDict, arg, F => do
|
||||
let belowDict ← whnf belowDict
|
||||
trace[Elab.definition.structural]! "belowDict: {belowDict}, arg: {arg}"
|
||||
trace[Elab.definition.structural] "belowDict: {belowDict}, arg: {arg}"
|
||||
match belowDict with
|
||||
| Expr.app (Expr.app (Expr.const `PProd _ _) d1 _) d2 _ =>
|
||||
(do toBelowAux C d1 arg (← mkAppM `PProd.fst #[F]))
|
||||
|
|
@ -209,7 +209,7 @@ private partial def toBelowAux (C : Expr) : Expr → Expr → Expr → MetaM Exp
|
|||
/- See toBelow -/
|
||||
private def withBelowDict {α} (below : Expr) (numIndParams : Nat) (k : Expr → Expr → MetaM α) : MetaM α := do
|
||||
let belowType ← inferType below
|
||||
trace[Elab.definition.structural]! "belowType: {belowType}"
|
||||
trace[Elab.definition.structural] "belowType: {belowType}"
|
||||
belowType.withApp fun f args => do
|
||||
let motivePos := numIndParams + 1
|
||||
unless motivePos < args.size do throwError! "unexpected 'below' type{indentExpr belowType}"
|
||||
|
|
@ -321,12 +321,12 @@ private partial def replaceRecApps (recFnName : Name) (recArgInfo : RecArgInfo)
|
|||
To make it work, users have to write the third alternative as `| zs => g zs + 2`
|
||||
If this is too annoying in practice, we may replace `ys` with the matching term, but
|
||||
this may generate weird error messages, when it doesn't work. -/
|
||||
trace[Elab.definition.structural]! "below before matcherApp.addArg: {below} : {← inferType below}"
|
||||
trace[Elab.definition.structural] "below before matcherApp.addArg: {below} : {← inferType below}"
|
||||
let matcherApp ← mapError (matcherApp.addArg below) (fun msg => "failed to add `below` argument to 'matcher' application" ++ indentD msg)
|
||||
modify fun s => { s with matcherBelowDep := s.matcherBelowDep.insert matcherApp.matcherName }
|
||||
let altsNew ← (Array.zip matcherApp.alts matcherApp.altNumParams).mapM fun (alt, numParams) =>
|
||||
lambdaTelescope alt fun xs altBody => do
|
||||
trace[Elab.definition.structural]! "altNumParams: {numParams}, xs: {xs}"
|
||||
trace[Elab.definition.structural] "altNumParams: {numParams}, xs: {xs}"
|
||||
unless xs.size >= numParams do
|
||||
throwError! "unexpected matcher application alternative{indentExpr alt}\nat application{indentExpr e}"
|
||||
let belowForAlt := xs[numParams - 1]
|
||||
|
|
@ -340,15 +340,15 @@ private def mkBRecOn (recFnName : Name) (recArgInfo : RecArgInfo) (value : Expr)
|
|||
let type := (← inferType value).headBeta
|
||||
let major := recArgInfo.ys[recArgInfo.pos]
|
||||
let otherArgs := recArgInfo.ys.filter fun y => y != major && !recArgInfo.indIndices.contains y
|
||||
trace[Elab.definition.structural]! "fixedParams: {recArgInfo.fixedParams}, otherArgs: {otherArgs}"
|
||||
trace[Elab.definition.structural] "fixedParams: {recArgInfo.fixedParams}, otherArgs: {otherArgs}"
|
||||
let motive ← mkForallFVars otherArgs type
|
||||
let mut brecOnUniv ← getLevel motive
|
||||
trace[Elab.definition.structural]! "brecOn univ: {brecOnUniv}"
|
||||
trace[Elab.definition.structural] "brecOn univ: {brecOnUniv}"
|
||||
let useBInductionOn := recArgInfo.reflexive && brecOnUniv == levelZero
|
||||
if recArgInfo.reflexive && brecOnUniv != levelZero then
|
||||
brecOnUniv ← decLevel brecOnUniv
|
||||
let motive ← mkLambdaFVars (recArgInfo.indIndices.push major) motive
|
||||
trace[Elab.definition.structural]! "brecOn motive: {motive}"
|
||||
trace[Elab.definition.structural] "brecOn motive: {motive}"
|
||||
let brecOn :=
|
||||
if useBInductionOn then
|
||||
Lean.mkConst (mkBInductionOnName recArgInfo.indName) recArgInfo.indLevels
|
||||
|
|
@ -360,12 +360,12 @@ private def mkBRecOn (recFnName : Name) (recArgInfo : RecArgInfo) (value : Expr)
|
|||
let brecOn := mkApp brecOn major
|
||||
check brecOn
|
||||
let brecOnType ← inferType brecOn
|
||||
trace[Elab.definition.structural]! "brecOn {brecOn}"
|
||||
trace[Elab.definition.structural]! "brecOnType {brecOnType}"
|
||||
trace[Elab.definition.structural] "brecOn {brecOn}"
|
||||
trace[Elab.definition.structural] "brecOnType {brecOnType}"
|
||||
forallBoundedTelescope brecOnType (some 1) fun F _ => do
|
||||
let F := F[0]
|
||||
let FType ← inferType F
|
||||
trace[Elab.definition.structural]! "FType: {FType}"
|
||||
trace[Elab.definition.structural] "FType: {FType}"
|
||||
let FType ← instantiateForall FType recArgInfo.indIndices
|
||||
let FType ← instantiateForall FType #[major]
|
||||
forallBoundedTelescope FType (some 1) fun below _ => do
|
||||
|
|
@ -378,14 +378,14 @@ private def mkBRecOn (recFnName : Name) (recArgInfo : RecArgInfo) (value : Expr)
|
|||
private def elimRecursion (preDef : PreDefinition) : M PreDefinition :=
|
||||
withoutModifyingEnv do lambdaTelescope preDef.value fun xs value => do
|
||||
addAsAxiom preDef
|
||||
trace[Elab.definition.structural]! "{preDef.declName} {xs} :=\n{value}"
|
||||
trace[Elab.definition.structural] "{preDef.declName} {xs} :=\n{value}"
|
||||
let numFixed ← getFixedPrefix preDef.declName xs value
|
||||
trace[Elab.definition.structural]! "numFixed: {numFixed}"
|
||||
trace[Elab.definition.structural] "numFixed: {numFixed}"
|
||||
findRecArg numFixed xs fun recArgInfo => do
|
||||
-- when (recArgInfo.indName == `Nat) throwStructuralFailed -- HACK to skip Nat argument
|
||||
let valueNew ← mkBRecOn preDef.declName recArgInfo value
|
||||
let valueNew ← mkLambdaFVars xs valueNew
|
||||
trace[Elab.definition.structural]! "result: {valueNew}"
|
||||
trace[Elab.definition.structural] "result: {valueNew}"
|
||||
-- Recursive applications may still occur in expressions that were not visited by replaceRecApps (e.g., in types)
|
||||
let valueNew ← ensureNoRecFn preDef.declName valueNew
|
||||
pure { preDef with value := valueNew }
|
||||
|
|
|
|||
4
stage0/src/Lean/Elab/Quotation.lean
generated
4
stage0/src/Lean/Elab/Quotation.lean
generated
|
|
@ -403,7 +403,7 @@ private def deduplicate (floatedLetDecls : Array Syntax) : Alt → TermElabM (Ar
|
|||
(floatedLetDecls.push (← `(letDecl|rhs $vars:ident* := $rhs)), (pats, rhs'))
|
||||
|
||||
private partial def compileStxMatch (discrs : List Syntax) (alts : List Alt) : TermElabM Syntax := do
|
||||
trace[Elab.match_syntax]! "match {discrs} with {alts}"
|
||||
trace[Elab.match_syntax] "match {discrs} with {alts}"
|
||||
match discrs, alts with
|
||||
| [], ([], rhs)::_ => pure rhs -- nothing left to match
|
||||
| _, [] => throwError "non-exhaustive 'match_syntax'"
|
||||
|
|
@ -461,7 +461,7 @@ def match_syntax.expand (stx : Syntax) : TermElabM Syntax := do
|
|||
-- no quotations => fall back to regular `match`
|
||||
throwUnsupportedSyntax
|
||||
let stx ← compileStxMatch discrs.toList (patss.map (·.toList) |>.zip rhss).toList
|
||||
trace[Elab.match_syntax.result]! "{stx}"
|
||||
trace[Elab.match_syntax.result] "{stx}"
|
||||
stx
|
||||
| _ => throwUnsupportedSyntax
|
||||
|
||||
|
|
|
|||
8
stage0/src/Lean/Elab/StructInst.lean
generated
8
stage0/src/Lean/Elab/StructInst.lean
generated
|
|
@ -127,9 +127,9 @@ private def elabModifyOp (stx modifyOp source : Syntax) (expectedType? : Option
|
|||
let idx := lval[1]
|
||||
let self := source[0]
|
||||
let stxNew ← `($(self).modifyOp (idx := $idx) (fun s => $val))
|
||||
trace[Elab.struct.modifyOp]! "{stx}\n===>\n{stxNew}"
|
||||
trace[Elab.struct.modifyOp] "{stx}\n===>\n{stxNew}"
|
||||
withMacroExpansion stx stxNew <| elabTerm stxNew expectedType?
|
||||
trace[Elab.struct.modifyOp]! "{modifyOp}\nSource: {source}"
|
||||
trace[Elab.struct.modifyOp] "{modifyOp}\nSource: {source}"
|
||||
let rest := modifyOp[0][1]
|
||||
if rest.isNone then
|
||||
cont modifyOp[2]
|
||||
|
|
@ -143,7 +143,7 @@ private def elabModifyOp (stx modifyOp source : Syntax) (expectedType? : Option
|
|||
let valSource := source.modifyArg 0 fun _ => s
|
||||
let val := stx.setArg 1 valSource
|
||||
let val := val.setArg 2 <| mkNullNode #[mkNullNode #[valField, mkNullNode]]
|
||||
trace[Elab.struct.modifyOp]! "{stx}\nval: {val}"
|
||||
trace[Elab.struct.modifyOp] "{stx}\nval: {val}"
|
||||
cont val
|
||||
|
||||
/- Get structure name and elaborate explicit source (if available) -/
|
||||
|
|
@ -789,7 +789,7 @@ private def elabStructInstAux (stx : Syntax) (expectedType? : Option Expr) (sour
|
|||
| Except.error ex => throwError ex
|
||||
| Except.ok struct =>
|
||||
let struct ← expandStruct struct
|
||||
trace[Elab.struct]! "{struct}"
|
||||
trace[Elab.struct] "{struct}"
|
||||
let (r, struct) ← elabStruct struct expectedType?
|
||||
DefaultFields.propagate struct
|
||||
pure r
|
||||
|
|
|
|||
4
stage0/src/Lean/Elab/Structure.lean
generated
4
stage0/src/Lean/Elab/Structure.lean
generated
|
|
@ -431,7 +431,6 @@ private def mkCtor (view : StructView) (levelParams : List Name) (params : Array
|
|||
let type ← addCtorFields fieldInfos fieldInfos.size type
|
||||
let type ← mkForallFVars params type
|
||||
let type ← instantiateMVars type
|
||||
trace[Meta.debug]! "ctor type: {type}"
|
||||
let type := type.inferImplicit params.size !view.ctor.inferMod
|
||||
pure { name := view.ctor.declName, type := type }
|
||||
|
||||
|
|
@ -488,7 +487,7 @@ private def elabStructureView (view : StructView) : TermElabM Unit := do
|
|||
else
|
||||
checkResultingUniverse (← getResultUniverse type)
|
||||
pure type
|
||||
trace[Elab.structure]! "type: {type}"
|
||||
trace[Elab.structure] "type: {type}"
|
||||
let usedLevelNames ← collectLevelParamsInStructure type scopeVars view.params fieldInfos
|
||||
match sortDeclLevelParams view.scopeLevelNames view.allUserLevelNames usedLevelNames with
|
||||
| Except.error msg => withRef view.ref <| throwError msg
|
||||
|
|
@ -497,7 +496,6 @@ private def elabStructureView (view : StructView) : TermElabM Unit := do
|
|||
let ctor ← mkCtor view levelParams params fieldInfos
|
||||
let type ← mkForallFVars params type
|
||||
let type ← instantiateMVars type
|
||||
trace[Meta.debug]! "type: {type}"
|
||||
let indType := { name := view.declName, type := type, ctors := [ctor] : InductiveType }
|
||||
let decl := Declaration.inductDecl levelParams params.size [indType] view.modifiers.isUnsafe
|
||||
Term.ensureNoUnassignedMVars decl
|
||||
|
|
|
|||
6
stage0/src/Lean/Elab/SyntheticMVars.lean
generated
6
stage0/src/Lean/Elab/SyntheticMVars.lean
generated
|
|
@ -101,14 +101,14 @@ private def tryToSynthesizeUsingDefaultInstance (mvarId : MVarId) (defaultInstan
|
|||
let candidate := Lean.mkConst defaultInstance (← mkFreshLevelMVars constInfo.levelParams.length)
|
||||
let (mvars, bis, _) ← forallMetaTelescopeReducing (← inferType candidate)
|
||||
let candidate := mkAppN candidate mvars
|
||||
trace[Elab.resume]! "trying default instance for {mkMVar mvarId} := {candidate}"
|
||||
trace[Elab.resume] "trying default instance for {mkMVar mvarId} := {candidate}"
|
||||
if (← isDefEqGuarded (mkMVar mvarId) candidate) then
|
||||
-- Succeeded. Collect new TC problems
|
||||
let mut result := []
|
||||
for i in [:bis.size] do
|
||||
if bis[i] == BinderInfo.instImplicit then
|
||||
result := { mvarId := mvars[i].mvarId!, stx := (← getRef), kind := SyntheticMVarKind.typeClass } :: result
|
||||
trace[Elab.resume]! "worked"
|
||||
trace[Elab.resume] "worked"
|
||||
return some result
|
||||
else
|
||||
return none
|
||||
|
|
@ -239,7 +239,7 @@ mutual
|
|||
-- We use `traceM` because we want to make sure the metavar local context is used to trace the message
|
||||
traceM `Elab.postpone (withMVarContext mvarDecl.mvarId do addMessageContext m!"resuming {mkMVar mvarDecl.mvarId}")
|
||||
let succeeded ← synthesizeSyntheticMVar mvarDecl postponeOnError runTactics
|
||||
trace[Elab.postpone]! if succeeded then fmt "succeeded" else fmt "not ready yet"
|
||||
trace[Elab.postpone] if succeeded then fmt "succeeded" else fmt "not ready yet"
|
||||
pure !succeeded
|
||||
-- Merge new synthetic metavariables with `remainingSyntheticMVars`, i.e., metavariables that still couldn't be synthesized
|
||||
modify fun s => { s with syntheticMVars := s.syntheticMVars ++ remainingSyntheticMVars }
|
||||
|
|
|
|||
10
stage0/src/Lean/Elab/Term.lean
generated
10
stage0/src/Lean/Elab/Term.lean
generated
|
|
@ -876,7 +876,7 @@ def tryPostponeIfHasMVars (expectedType? : Option Expr) (msg : String) : TermEla
|
|||
pure expectedType
|
||||
|
||||
private def postponeElabTerm (stx : Syntax) (expectedType? : Option Expr) : TermElabM Expr := do
|
||||
trace[Elab.postpone]! "{stx} : {expectedType?}"
|
||||
trace[Elab.postpone] "{stx} : {expectedType?}"
|
||||
let mvar ← mkFreshExprMVar expectedType? MetavarKind.syntheticOpaque
|
||||
let ctx ← read
|
||||
registerSyntheticMVar stx mvar.mvarId! (SyntheticMVarKind.postponed ctx.macroStack ctx.declName?)
|
||||
|
|
@ -980,7 +980,7 @@ private def elabImplicitLambdaAux (stx : Syntax) (catchExPostpone : Bool) (expec
|
|||
let body ← elabUsingElabFns stx expectedType catchExPostpone
|
||||
let body ← ensureHasType expectedType body
|
||||
let r ← mkLambdaFVars fvars body
|
||||
trace[Elab.implicitForall]! r
|
||||
trace[Elab.implicitForall] r
|
||||
pure r
|
||||
|
||||
private partial def elabImplicitLambda (stx : Syntax) (catchExPostpone : Bool) : Expr → Array Expr → TermElabM Expr
|
||||
|
|
@ -998,7 +998,7 @@ private partial def elabImplicitLambda (stx : Syntax) (catchExPostpone : Bool) :
|
|||
/- Main loop for `elabTerm` -/
|
||||
private partial def elabTermAux (expectedType? : Option Expr) (catchExPostpone : Bool) (implicitLambda : Bool) : Syntax → TermElabM Expr
|
||||
| stx => withFreshMacroScope <| withIncRecDepth do
|
||||
trace[Elab.step]! "expected type: {expectedType?}, term\n{stx}"
|
||||
trace[Elab.step] "expected type: {expectedType?}, term\n{stx}"
|
||||
checkMaxHeartbeats "elaborator"
|
||||
withNestedTraces do
|
||||
let env ← getEnv
|
||||
|
|
@ -1157,9 +1157,9 @@ builtin_initialize registerTraceClass `Elab.letrec
|
|||
/- Return true if mvarId is an auxiliary metavariable created for compiling `let rec` or it
|
||||
is delayed assigned to one. -/
|
||||
def isLetRecAuxMVar (mvarId : MVarId) : TermElabM Bool := do
|
||||
trace[Elab.letrec]! "mvarId: {mkMVar mvarId} letrecMVars: {(← get).letRecsToLift.map (mkMVar $ ·.mvarId)}"
|
||||
trace[Elab.letrec] "mvarId: {mkMVar mvarId} letrecMVars: {(← get).letRecsToLift.map (mkMVar $ ·.mvarId)}"
|
||||
let mvarId := (← getMCtx).getDelayedRoot mvarId
|
||||
trace[Elab.letrec]! "mvarId root: {mkMVar mvarId}"
|
||||
trace[Elab.letrec] "mvarId root: {mkMVar mvarId}"
|
||||
return (← get).letRecsToLift.any (·.mvarId == mvarId)
|
||||
|
||||
/- =======================================
|
||||
|
|
|
|||
10
stage0/src/Lean/Meta/AppBuilder.lean
generated
10
stage0/src/Lean/Meta/AppBuilder.lean
generated
|
|
@ -51,14 +51,14 @@ def mkHEqRefl (a : Expr) : MetaM Expr := do
|
|||
return mkApp2 (mkConst ``HEq.refl [u]) aType a
|
||||
|
||||
def mkAbsurd (e : Expr) (hp hnp : Expr) : MetaM Expr := do
|
||||
let p ← inferType hp
|
||||
let u ← getLevel e
|
||||
return mkApp4 (mkConst ``absurd [u]) p e hp hnp
|
||||
let p ← inferType hp
|
||||
let u ← getLevel e
|
||||
return mkApp4 (mkConst ``absurd [u]) p e hp hnp
|
||||
|
||||
def mkFalseElim (e : Expr) (h : Expr) : MetaM Expr := do
|
||||
let u ← getLevel e
|
||||
return mkApp2 (mkConst ``False.elim [u]) e h
|
||||
|
||||
|
||||
private def infer (h : Expr) : MetaM Expr := do
|
||||
let hType ← inferType h
|
||||
whnfD hType
|
||||
|
|
@ -243,7 +243,7 @@ def mkAppM (constName : Name) (xs : Array Expr) : MetaM Expr := do
|
|||
traceCtx `Meta.appBuilder <| withNewMCtxDepth do
|
||||
let (f, fType) ← mkFun constName
|
||||
let r ← mkAppMArgs f fType xs
|
||||
trace[Meta.appBuilder]! "constName: {constName}, xs: {xs}, result: {r}"
|
||||
trace[Meta.appBuilder] "constName: {constName}, xs: {xs}, result: {r}"
|
||||
return r
|
||||
|
||||
private partial def mkAppOptMAux (f : Expr) (xs : Array (Option Expr)) : Nat → Array Expr → Nat → Array MVarId → Expr → MetaM Expr
|
||||
|
|
|
|||
2
stage0/src/Lean/Meta/Check.lean
generated
2
stage0/src/Lean/Meta/Check.lean
generated
|
|
@ -186,7 +186,7 @@ def isTypeCorrect (e : Expr) : MetaM Bool := do
|
|||
check e
|
||||
pure true
|
||||
catch ex =>
|
||||
trace[Meta.typeError]! ex.toMessageData
|
||||
trace[Meta.typeError] ex.toMessageData
|
||||
pure false
|
||||
|
||||
builtin_initialize
|
||||
|
|
|
|||
4
stage0/src/Lean/Meta/Closure.lean
generated
4
stage0/src/Lean/Meta/Closure.lean
generated
|
|
@ -347,7 +347,7 @@ end Closure
|
|||
returned where `u_i`s are universe parameters and metavariables `type` and `value` depend on,
|
||||
and `t_j`s are free and meta variables `type` and `value` depend on. -/
|
||||
def mkAuxDefinition (name : Name) (type : Expr) (value : Expr) (zeta : Bool := false) (compile : Bool := true) : MetaM Expr := do
|
||||
trace[Meta.debug]! "{name} : {type} := {value}"
|
||||
trace[Meta.debug] "{name} : {type} := {value}"
|
||||
let result ← Closure.mkValueTypeClosure type value zeta
|
||||
let env ← getEnv
|
||||
let decl := Declaration.defnDecl {
|
||||
|
|
@ -358,7 +358,7 @@ def mkAuxDefinition (name : Name) (type : Expr) (value : Expr) (zeta : Bool := f
|
|||
hints := ReducibilityHints.regular (getMaxHeight env result.value + 1),
|
||||
safety := if env.hasUnsafe result.type || env.hasUnsafe result.value then DefinitionSafety.unsafe else DefinitionSafety.safe
|
||||
}
|
||||
trace[Meta.debug]! "{name} : {result.type} := {result.value}"
|
||||
trace[Meta.debug] "{name} : {result.type} := {result.value}"
|
||||
addDecl decl
|
||||
if compile then
|
||||
compileDecl decl
|
||||
|
|
|
|||
34
stage0/src/Lean/Meta/ExprDefEq.lean
generated
34
stage0/src/Lean/Meta/ExprDefEq.lean
generated
|
|
@ -229,18 +229,18 @@ private partial def isDefEqBindingAux (lctx : LocalContext) (fvars : Array Expr)
|
|||
private def checkTypesAndAssign (mvar : Expr) (v : Expr) : MetaM Bool :=
|
||||
traceCtx `Meta.isDefEq.assign.checkTypes do
|
||||
if !mvar.isMVar then
|
||||
trace[Meta.isDefEq.assign.final]! "metavariable expected at {mvar} := {v}"
|
||||
trace[Meta.isDefEq.assign.final] "metavariable expected at {mvar} := {v}"
|
||||
return false
|
||||
else
|
||||
-- must check whether types are definitionally equal or not, before assigning and returning true
|
||||
let mvarType ← inferType mvar
|
||||
let vType ← inferType v
|
||||
if (← withTransparency TransparencyMode.default <| Meta.isExprDefEqAux mvarType vType) then
|
||||
trace[Meta.isDefEq.assign.final]! "{mvar} := {v}"
|
||||
trace[Meta.isDefEq.assign.final] "{mvar} := {v}"
|
||||
assignExprMVar mvar.mvarId! v
|
||||
pure true
|
||||
else
|
||||
trace[Meta.isDefEq.assign.typeMismatch]! "{mvar} : {mvarType} := {v} : {vType}"
|
||||
trace[Meta.isDefEq.assign.typeMismatch] "{mvar} : {mvarType} := {v} : {vType}"
|
||||
pure false
|
||||
|
||||
/--
|
||||
|
|
@ -278,7 +278,7 @@ private partial def mkLambdaFVarsWithLetDeps (xs : Array Expr) (v : Expr) : Meta
|
|||
mkLambdaFVars xs v
|
||||
else
|
||||
let ys ← addLetDeps
|
||||
trace[Meta.debug]! "ys: {ys}, v: {v}"
|
||||
trace[Meta.debug] "ys: {ys}, v: {v}"
|
||||
mkLambdaFVars ys v
|
||||
|
||||
where
|
||||
|
|
@ -834,7 +834,7 @@ private partial def processAssignmentFOApprox (mvar : Expr) (args : Array Expr)
|
|||
if !cfg.foApprox then
|
||||
pure false
|
||||
else
|
||||
trace[Meta.isDefEq.foApprox]! "{mvar} {args} := {v}"
|
||||
trace[Meta.isDefEq.foApprox] "{mvar} {args} := {v}"
|
||||
let v := v.headBeta
|
||||
if (← commitWhen <| processAssignmentFOApproxAux mvar args v) then
|
||||
pure true
|
||||
|
|
@ -872,7 +872,7 @@ private def assignConst (mvar : Expr) (numArgs : Nat) (v : Expr) : MetaM Bool :=
|
|||
match (← checkAssignment mvar.mvarId! #[] v) with
|
||||
| none => pure false
|
||||
| some v =>
|
||||
trace[Meta.isDefEq.constApprox]! "{mvar} := {v}"
|
||||
trace[Meta.isDefEq.constApprox] "{mvar} := {v}"
|
||||
checkTypesAndAssign mvar v
|
||||
|
||||
private def processConstApprox (mvar : Expr) (numArgs : Nat) (v : Expr) : MetaM Bool := do
|
||||
|
|
@ -888,7 +888,7 @@ private def processConstApprox (mvar : Expr) (numArgs : Nat) (v : Expr) : MetaM
|
|||
It assumes `?m` is unassigned. -/
|
||||
private partial def processAssignment (mvarApp : Expr) (v : Expr) : MetaM Bool :=
|
||||
traceCtx `Meta.isDefEq.assign do
|
||||
trace[Meta.isDefEq.assign]! "{mvarApp} := {v}"
|
||||
trace[Meta.isDefEq.assign] "{mvarApp} := {v}"
|
||||
let mvar := mvarApp.getAppFn
|
||||
let mvarDecl ← getMVarDecl mvar.mvarId!
|
||||
let rec process (i : Nat) (args : Array Expr) (v : Expr) := do
|
||||
|
|
@ -919,7 +919,7 @@ private partial def processAssignment (mvarApp : Expr) (v : Expr) : MetaM Bool :
|
|||
match (← checkAssignment mvarId args v) with
|
||||
| none => useFOApprox args
|
||||
| some v => do
|
||||
trace[Meta.isDefEq.assign.beforeMkLambda]! "{mvar} {args} := {v}"
|
||||
trace[Meta.isDefEq.assign.beforeMkLambda] "{mvar} {args} := {v}"
|
||||
let some v ← mkLambdaFVarsWithLetDeps args v | return false
|
||||
if args.any (fun arg => mvarDecl.lctx.containsFVar arg) then
|
||||
/- We need to type check `v` because abstraction using `mkLambdaFVars` may have produced
|
||||
|
|
@ -927,7 +927,7 @@ private partial def processAssignment (mvarApp : Expr) (v : Expr) : MetaM Bool :
|
|||
if (← isTypeCorrect v) then
|
||||
checkTypesAndAssign mvar v
|
||||
else
|
||||
trace[Meta.isDefEq.assign.typeError]! "{mvar} := {v}"
|
||||
trace[Meta.isDefEq.assign.typeError] "{mvar} := {v}"
|
||||
useFOApprox args
|
||||
else
|
||||
checkTypesAndAssign mvar v
|
||||
|
|
@ -968,17 +968,17 @@ private def isListLevelDefEq (us vs : List Level) : MetaM LBool :=
|
|||
|
||||
/-- Auxiliary method for isDefEqDelta -/
|
||||
private def isDefEqLeft (fn : Name) (t s : Expr) : MetaM LBool := do
|
||||
trace[Meta.isDefEq.delta.unfoldLeft]! fn
|
||||
trace[Meta.isDefEq.delta.unfoldLeft] fn
|
||||
toLBoolM <| Meta.isExprDefEqAux t s
|
||||
|
||||
/-- Auxiliary method for isDefEqDelta -/
|
||||
private def isDefEqRight (fn : Name) (t s : Expr) : MetaM LBool := do
|
||||
trace[Meta.isDefEq.delta.unfoldRight]! fn
|
||||
trace[Meta.isDefEq.delta.unfoldRight] fn
|
||||
toLBoolM <| Meta.isExprDefEqAux t s
|
||||
|
||||
/-- Auxiliary method for isDefEqDelta -/
|
||||
private def isDefEqLeftRight (fn : Name) (t s : Expr) : MetaM LBool := do
|
||||
trace[Meta.isDefEq.delta.unfoldLeftRight]! fn
|
||||
trace[Meta.isDefEq.delta.unfoldLeftRight] fn
|
||||
toLBoolM <| Meta.isExprDefEqAux t s
|
||||
|
||||
/-- Try to solve `f a₁ ... aₙ =?= f b₁ ... bₙ` by solving `a₁ =?= b₁, ..., aₙ =?= bₙ`.
|
||||
|
|
@ -1012,7 +1012,7 @@ private def tryHeuristic (t s : Expr) : MetaM Bool :=
|
|||
<&&>
|
||||
isListLevelDefEqAux tFn.constLevels! sFn.constLevels!
|
||||
unless b do
|
||||
trace[Meta.isDefEq.delta]! "heuristic failed {t} =?= {s}"
|
||||
trace[Meta.isDefEq.delta] "heuristic failed {t} =?= {s}"
|
||||
pure b
|
||||
|
||||
/-- Auxiliary method for isDefEqDelta -/
|
||||
|
|
@ -1288,7 +1288,7 @@ private partial def isDefEqQuickOther (t s : Expr) : MetaM LBool := do
|
|||
let tAssign? ← isAssignable tFn
|
||||
let sAssign? ← isAssignable sFn
|
||||
let assignableMsg (b : Bool) := if b then "[assignable]" else "[nonassignable]"
|
||||
trace[Meta.isDefEq]! "{t} {assignableMsg tAssign?} =?= {s} {assignableMsg sAssign?}"
|
||||
trace[Meta.isDefEq] "{t} {assignableMsg tAssign?} =?= {s} {assignableMsg sAssign?}"
|
||||
if tAssign? && !sAssign? then
|
||||
toLBoolM <| processAssignment' t s
|
||||
else if !tAssign? && sAssign? then
|
||||
|
|
@ -1297,7 +1297,7 @@ private partial def isDefEqQuickOther (t s : Expr) : MetaM LBool := do
|
|||
if tFn.isMVar || sFn.isMVar then
|
||||
let ctx ← read
|
||||
if ctx.config.isDefEqStuckEx then do
|
||||
trace[Meta.isDefEq.stuck]! "{t} =?= {s}"
|
||||
trace[Meta.isDefEq.stuck] "{t} =?= {s}"
|
||||
Meta.throwIsDefEqStuck
|
||||
else
|
||||
pure LBool.false
|
||||
|
|
@ -1337,7 +1337,7 @@ end
|
|||
@[specialize] private def unstuckMVar (e : Expr) (successK : Expr → MetaM Bool) (failK : MetaM Bool): MetaM Bool := do
|
||||
match (← getStuckMVar? e) with
|
||||
| some mvarId =>
|
||||
trace[Meta.isDefEq.stuckMVar]! "found stuck MVar {mkMVar mvarId} : {← inferType (mkMVar mvarId)}"
|
||||
trace[Meta.isDefEq.stuckMVar] "found stuck MVar {mkMVar mvarId} : {← inferType (mkMVar mvarId)}"
|
||||
if (← Meta.synthPending mvarId) then
|
||||
let e ← instantiateMVars e
|
||||
successK e
|
||||
|
|
@ -1373,7 +1373,7 @@ private def isDefEqApp (t s : Expr) : MetaM Bool := do
|
|||
isDefEqOnFailure t s
|
||||
|
||||
partial def isExprDefEqAuxImpl (t : Expr) (s : Expr) : MetaM Bool := do
|
||||
trace[Meta.isDefEq.step]! "{t} =?= {s}"
|
||||
trace[Meta.isDefEq.step] "{t} =?= {s}"
|
||||
checkMaxHeartbeats "isDefEq"
|
||||
withNestedTraces do
|
||||
whenUndefDo (isDefEqQuick t s) do
|
||||
|
|
|
|||
27
stage0/src/Lean/Meta/LevelDefEq.lean
generated
27
stage0/src/Lean/Meta/LevelDefEq.lean
generated
|
|
@ -116,10 +116,10 @@ mutual
|
|||
partial def isLevelDefEqAux : Level → Level → MetaM Bool
|
||||
| Level.succ lhs _, Level.succ rhs _ => isLevelDefEqAux lhs rhs
|
||||
| lhs, rhs => do
|
||||
if lhs == rhs then
|
||||
return true
|
||||
if lhs.getLevelOffset == rhs.getLevelOffset then
|
||||
return lhs.getOffset == rhs.getOffset
|
||||
else
|
||||
trace[Meta.isLevelDefEq.step]! "{lhs} =?= {rhs}"
|
||||
trace[Meta.isLevelDefEq.step] "{lhs} =?= {rhs}"
|
||||
let lhs' ← instantiateLevelMVars lhs
|
||||
let lhs' := lhs'.normalize
|
||||
let rhs' ← instantiateLevelMVars rhs
|
||||
|
|
@ -139,7 +139,7 @@ mutual
|
|||
if !mctx.hasAssignableLevelMVar lhs && !mctx.hasAssignableLevelMVar rhs then
|
||||
let ctx ← read
|
||||
if ctx.config.isDefEqStuckEx && (lhs.isMVar || rhs.isMVar) then do
|
||||
trace[Meta.isLevelDefEq.stuck]! "{lhs} =?= {rhs}"
|
||||
trace[Meta.isLevelDefEq.stuck] "{lhs} =?= {rhs}"
|
||||
Meta.throwIsDefEqStuck
|
||||
else
|
||||
return false
|
||||
|
|
@ -181,7 +181,7 @@ else
|
|||
if numPostponed == 0 then
|
||||
return true
|
||||
else
|
||||
trace[Meta.isLevelDefEq.postponed]! "processing #{numPostponed} postponed is-def-eq level constraints"
|
||||
trace[Meta.isLevelDefEq.postponed] "processing #{numPostponed} postponed is-def-eq level constraints"
|
||||
if !(← processPostponedStep) then
|
||||
return false
|
||||
else
|
||||
|
|
@ -191,7 +191,7 @@ else
|
|||
else if numPostponed' < numPostponed then
|
||||
loop
|
||||
else
|
||||
trace[Meta.isLevelDefEq.postponed]! "no progress solving pending is-def-eq level constraints"
|
||||
trace[Meta.isLevelDefEq.postponed] "no progress solving pending is-def-eq level constraints"
|
||||
return mayPostpone
|
||||
loop
|
||||
|
||||
|
|
@ -213,6 +213,8 @@ private def restore (env : Environment) (mctx : MetavarContext) (postponed : Per
|
|||
try
|
||||
if (← x) then
|
||||
if (← processPostponed mayPostpone) then
|
||||
let newPostponed ← getPostponed
|
||||
setPostponed (postponed ++ newPostponed)
|
||||
return true
|
||||
else
|
||||
restore env mctx postponed
|
||||
|
|
@ -225,9 +227,16 @@ private def restore (env : Environment) (mctx : MetavarContext) (postponed : Per
|
|||
throw ex
|
||||
|
||||
private def postponedToMessageData (ps : PersistentArray PostponedEntry) : MessageData := do
|
||||
let mut found : Std.HashSet (Level × Level) := {}
|
||||
let mut r := MessageData.nil
|
||||
for p in ps do
|
||||
r := m!"{r}\n{p.lhs} =?= {p.rhs}"
|
||||
let mut lhs := p.lhs
|
||||
let mut rhs := p.rhs
|
||||
if Level.normLt rhs lhs then
|
||||
(lhs, rhs) := (rhs, lhs)
|
||||
unless found.contains (lhs, rhs) do
|
||||
found := found.insert (lhs, rhs)
|
||||
r := m!"{r}\n{lhs} =?= {rhs}"
|
||||
return r
|
||||
|
||||
@[specialize] def withoutPostponingUniverseConstraintsImp {α} (x : MetaM α) : MetaM α := do
|
||||
|
|
@ -248,13 +257,13 @@ private def postponedToMessageData (ps : PersistentArray PostponedEntry) : Messa
|
|||
def isLevelDefEq (u v : Level) : MetaM Bool :=
|
||||
traceCtx `Meta.isLevelDefEq do
|
||||
let b ← commitWhen (mayPostpone := true) <| Meta.isLevelDefEqAux u v
|
||||
trace[Meta.isLevelDefEq]! "{u} =?= {v} ... {if b then "success" else "failure"}"
|
||||
trace[Meta.isLevelDefEq] "{u} =?= {v} ... {if b then "success" else "failure"}"
|
||||
return b
|
||||
|
||||
def isExprDefEq (t s : Expr) : MetaM Bool :=
|
||||
traceCtx `Meta.isDefEq do
|
||||
let b ← commitWhen (mayPostpone := true) <| Meta.isExprDefEqAux t s
|
||||
trace[Meta.isDefEq]! "{t} =?= {s} ... {if b then "success" else "failure"}"
|
||||
trace[Meta.isDefEq] "{t} =?= {s} ... {if b then "success" else "failure"}"
|
||||
return b
|
||||
|
||||
abbrev isDefEq (t s : Expr) : MetaM Bool :=
|
||||
|
|
|
|||
6
stage0/src/Lean/Meta/Match/CaseValues.lean
generated
6
stage0/src/Lean/Meta/Match/CaseValues.lean
generated
|
|
@ -45,11 +45,11 @@ def caseValueAux (mvarId : MVarId) (fvarId : FVarId) (value : Expr) (hName : Nam
|
|||
let clearH := false
|
||||
let (thenSubst, thenMVarId) ← substCore thenMVarId thenH symm subst clearH
|
||||
withMVarContext thenMVarId do
|
||||
trace[Meta]! "subst domain: {thenSubst.domain}"
|
||||
trace[Meta] "subst domain: {thenSubst.domain}"
|
||||
let thenH := (thenSubst.get thenH).fvarId!
|
||||
trace[Meta]! "searching for decl"
|
||||
trace[Meta] "searching for decl"
|
||||
let decl ← getLocalDecl thenH
|
||||
trace[Meta]! "found decl"
|
||||
trace[Meta] "found decl"
|
||||
let thenSubgoal := { mvarId := thenMVarId, newH := (thenSubst.get thenH).fvarId!, subst := thenSubst : CaseValueSubgoal }
|
||||
pure (thenSubgoal, elseSubgoal)
|
||||
|
||||
|
|
|
|||
35
stage0/src/Lean/Meta/Match/Match.lean
generated
35
stage0/src/Lean/Meta/Match/Match.lean
generated
|
|
@ -41,7 +41,7 @@ where
|
|||
let (minorType, minorNumParams) := if !xs.isEmpty then (minorType, xs.size) else (mkSimpleThunkType minorType, 1)
|
||||
let idx := alts.length
|
||||
let minorName := (`h).appendIndexAfter (idx+1)
|
||||
trace[Meta.Match.debug]! "minor premise {minorName} : {minorType}"
|
||||
trace[Meta.Match.debug] "minor premise {minorName} : {minorType}"
|
||||
withLocalDeclD minorName minorType fun minor => do
|
||||
let rhs := if xs.isEmpty then mkApp minor (mkConst `Unit.unit) else mkAppN minor xs
|
||||
let minors := minors.push (minor, minorNumParams)
|
||||
|
|
@ -202,20 +202,20 @@ def occurs (fvarId : FVarId) (v : Expr) : Bool :=
|
|||
|
||||
def assign (fvarId : FVarId) (v : Expr) : M Bool := do
|
||||
if occurs fvarId v then
|
||||
trace[Meta.Match.unify]! "assign occurs check failed, {mkFVar fvarId} := {v}"
|
||||
trace[Meta.Match.unify] "assign occurs check failed, {mkFVar fvarId} := {v}"
|
||||
pure false
|
||||
else
|
||||
let ctx ← read
|
||||
if (← isAltVar fvarId) then
|
||||
trace[Meta.Match.unify]! "{mkFVar fvarId} := {v}"
|
||||
trace[Meta.Match.unify] "{mkFVar fvarId} := {v}"
|
||||
modify fun s => { s with fvarSubst := s.fvarSubst.insert fvarId v }
|
||||
pure true
|
||||
else
|
||||
trace[Meta.Match.unify]! "assign failed variable is not local, {mkFVar fvarId} := {v}"
|
||||
trace[Meta.Match.unify] "assign failed variable is not local, {mkFVar fvarId} := {v}"
|
||||
pure false
|
||||
|
||||
partial def unify (a : Expr) (b : Expr) : M Bool := do
|
||||
trace[Meta.Match.unify]! "{a} =?= {b}"
|
||||
trace[Meta.Match.unify] "{a} =?= {b}"
|
||||
if (← isDefEq a b) then
|
||||
pure true
|
||||
else
|
||||
|
|
@ -292,7 +292,7 @@ def processInaccessibleAsCtor (alt : Alt) (ctorName : Name) : MetaM (Option Alt)
|
|||
let env ← getEnv
|
||||
match alt.patterns with
|
||||
| p@(Pattern.inaccessible e) :: ps =>
|
||||
trace[Meta.Match.match]! "inaccessible in ctor step {e}"
|
||||
trace[Meta.Match.match] "inaccessible in ctor step {e}"
|
||||
withExistingLocalDecls alt.fvarDecls do
|
||||
-- Try to push inaccessible annotations.
|
||||
let e ← whnfD e
|
||||
|
|
@ -308,7 +308,7 @@ def processInaccessibleAsCtor (alt : Alt) (ctorName : Name) : MetaM (Option Alt)
|
|||
| _ => unreachable!
|
||||
|
||||
private def processConstructor (p : Problem) : MetaM (Array Problem) := do
|
||||
trace[Meta.Match.match]! "constructor step"
|
||||
trace[Meta.Match.match] "constructor step"
|
||||
let env ← getEnv
|
||||
match p.vars with
|
||||
| [] => unreachable!
|
||||
|
|
@ -395,7 +395,7 @@ private def isFirstPatternVar (alt : Alt) : Bool :=
|
|||
| _ => false
|
||||
|
||||
private def processValue (p : Problem) : MetaM (Array Problem) := do
|
||||
trace[Meta.Match.match]! "value step"
|
||||
trace[Meta.Match.match] "value step"
|
||||
match p.vars with
|
||||
| [] => unreachable!
|
||||
| x :: xs => do
|
||||
|
|
@ -449,7 +449,7 @@ private def expandVarIntoArrayLit (alt : Alt) (fvarId : FVarId) (arrayElemType :
|
|||
loop arraySize #[]
|
||||
|
||||
private def processArrayLit (p : Problem) : MetaM (Array Problem) := do
|
||||
trace[Meta.Match.match]! "array literal step"
|
||||
trace[Meta.Match.match] "array literal step"
|
||||
match p.vars with
|
||||
| [] => unreachable!
|
||||
| x :: xs => do
|
||||
|
|
@ -490,7 +490,7 @@ private def expandNatValuePattern (p : Problem) : Problem := do
|
|||
{ p with alts := alts }
|
||||
|
||||
private def traceStep (msg : String) : StateRefT State MetaM Unit :=
|
||||
trace[Meta.Match.match]! "{msg} step"
|
||||
trace[Meta.Match.match] "{msg} step"
|
||||
|
||||
private def traceState (p : Problem) : MetaM Unit :=
|
||||
withGoalOf p (traceM `Meta.Match.match p.toMessageData)
|
||||
|
|
@ -579,7 +579,7 @@ builtin_initialize matcherExt : EnvExtension (Std.PHashMap (Expr × Bool) Name)
|
|||
/- Similar to `mkAuxDefinition`, but uses the cache `matcherExt`.
|
||||
It also returns an Boolean that indicates whether a new matcher function was added to the environment or not. -/
|
||||
def mkMatcherAuxDefinition (name : Name) (type : Expr) (value : Expr) : MetaM (Bool × Expr) := do
|
||||
trace[Meta.debug]! "{name} : {type} := {value}"
|
||||
trace[Meta.debug] "{name} : {type} := {value}"
|
||||
let compile := bootstrap.genMatcherCode.get (← getOptions)
|
||||
let result ← Closure.mkValueTypeClosure type value (zeta := false)
|
||||
let env ← getEnv
|
||||
|
|
@ -594,7 +594,7 @@ def mkMatcherAuxDefinition (name : Name) (type : Expr) (value : Expr) : MetaM (B
|
|||
hints := ReducibilityHints.regular (getMaxHeight env result.value + 1),
|
||||
safety := if env.hasUnsafe result.type || env.hasUnsafe result.value then DefinitionSafety.unsafe else DefinitionSafety.safe
|
||||
}
|
||||
trace[Meta.debug]! "{name} : {result.type} := {result.value}"
|
||||
trace[Meta.debug] "{name} : {result.type} := {result.value}"
|
||||
addDecl decl
|
||||
if compile then
|
||||
compileDecl decl
|
||||
|
|
@ -621,9 +621,9 @@ def mkMatcher (matcherName : Name) (matchType : Expr) (numDiscrs : Nat) (lhss :
|
|||
let uElimGen ← if uElim == levelZero then pure levelZero else mkFreshLevelMVar
|
||||
let motiveType ← mkForallFVars majors (mkSort uElimGen)
|
||||
withLocalDeclD `motive motiveType fun motive => do
|
||||
trace[Meta.Match.debug]! "motiveType: {motiveType}"
|
||||
trace[Meta.Match.debug] "motiveType: {motiveType}"
|
||||
let mvarType := mkAppN motive majors
|
||||
trace[Meta.Match.debug]! "target: {mvarType}"
|
||||
trace[Meta.Match.debug] "target: {mvarType}"
|
||||
withAlts motive lhss fun alts minors => do
|
||||
let mvar ← mkFreshExprMVar mvarType
|
||||
let examples := majors.toList.map fun major => Example.var major.fvarId!
|
||||
|
|
@ -631,7 +631,7 @@ def mkMatcher (matcherName : Name) (matchType : Expr) (numDiscrs : Nat) (lhss :
|
|||
let args := #[motive] ++ majors ++ minors.map Prod.fst
|
||||
let type ← mkForallFVars args mvarType
|
||||
let val ← mkLambdaFVars args mvar
|
||||
trace[Meta.Match.debug]! "matcher value: {val}\ntype: {type}"
|
||||
trace[Meta.Match.debug] "matcher value: {val}\ntype: {type}"
|
||||
/- The option `bootstrap.gen_matcher_code` is a helper hack. It is useful, for example,
|
||||
for compiling `src/Init/Data/Int`. It is needed because the compiler uses `Int.decLt`
|
||||
for generating code for `Int.casesOn` applications, but `Int.casesOn` is used to
|
||||
|
|
@ -644,13 +644,13 @@ def mkMatcher (matcherName : Name) (matchType : Expr) (numDiscrs : Nat) (lhss :
|
|||
```
|
||||
which is defined **before** `Int.decLt` -/
|
||||
let (isNewMatcher, matcher) ← mkMatcherAuxDefinition matcherName type val
|
||||
trace[Meta.Match.debug]! "matcher levels: {matcher.getAppFn.constLevels!}, uElim: {uElimGen}"
|
||||
trace[Meta.Match.debug] "matcher levels: {matcher.getAppFn.constLevels!}, uElim: {uElimGen}"
|
||||
let uElimPos? ← getUElimPos? matcher.getAppFn.constLevels! uElimGen
|
||||
discard <| isLevelDefEq uElimGen uElim
|
||||
if isNewMatcher then
|
||||
addMatcherInfo matcherName { numParams := matcher.getAppNumArgs, numDiscrs := numDiscrs, altNumParams := minors.map Prod.snd, uElimPos? := uElimPos? }
|
||||
setInlineAttribute matcherName
|
||||
trace[Meta.Match.debug]! "matcher: {matcher}"
|
||||
trace[Meta.Match.debug] "matcher: {matcher}"
|
||||
let unusedAltIdxs := lhss.length.fold (init := []) fun i r =>
|
||||
if s.used.contains i then r else i::r
|
||||
pure { matcher := matcher, counterExamples := s.counterExamples, unusedAltIdxs := unusedAltIdxs.reverse }
|
||||
|
|
@ -709,7 +709,6 @@ def MatcherApp.addArg (matcherApp : MatcherApp) (e : Expr) : MetaM MatcherApp :=
|
|||
let aux := mkAppN (mkConst matcherApp.matcherName matcherLevels.toList) matcherApp.params
|
||||
let aux := mkApp aux motive
|
||||
let aux := mkAppN aux matcherApp.discrs
|
||||
trace! `Meta.debug aux
|
||||
check aux
|
||||
unless (← isTypeCorrect aux) do
|
||||
throwError "failed to add argument to matcher application, type error when constructing the new motive"
|
||||
|
|
|
|||
18
stage0/src/Lean/Meta/SizeOf.lean
generated
18
stage0/src/Lean/Meta/SizeOf.lean
generated
|
|
@ -68,7 +68,7 @@ where
|
|||
let type ← inferType motiveFVars[i]
|
||||
let motive ← forallTelescopeReducing type fun xs _ => do
|
||||
mkLambdaFVars xs <| mkConst ``Nat
|
||||
trace[Meta.sizeOf]! "motive: {motive}"
|
||||
trace[Meta.sizeOf] "motive: {motive}"
|
||||
loop (i+1) (motives.push motive)
|
||||
else
|
||||
k motives
|
||||
|
|
@ -89,7 +89,7 @@ where
|
|||
| some idx => minor ← mkAdd minor xs'[idx]
|
||||
| none => minor ← mkAdd minor (← mkAppM ``SizeOf.sizeOf #[x'])
|
||||
minor ← mkLambdaFVars xs' minor
|
||||
trace[Meta.sizeOf]! "minor: {minor}"
|
||||
trace[Meta.sizeOf] "minor: {minor}"
|
||||
loop (i+1) (minors.push minor)
|
||||
else
|
||||
k minors
|
||||
|
|
@ -98,7 +98,7 @@ where
|
|||
Create a "sizeOf" function with name `declName` using the recursor `recName`.
|
||||
-/
|
||||
partial def mkSizeOfFn (recName : Name) (declName : Name): MetaM Unit := do
|
||||
trace[Meta.sizeOf]! "recName: {recName}"
|
||||
trace[Meta.sizeOf] "recName: {recName}"
|
||||
let recInfo : RecursorVal ← getConstInfoRec recName
|
||||
forallTelescopeReducing recInfo.type fun xs type =>
|
||||
let levelParams := recInfo.levelParams.tail! -- universe parameters for declaration being defined
|
||||
|
|
@ -118,7 +118,7 @@ partial def mkSizeOfFn (recName : Name) (declName : Name): MetaM Unit := do
|
|||
let sizeOfParams := params ++ localInsts ++ indices ++ #[major]
|
||||
let sizeOfType ← mkForallFVars sizeOfParams nat
|
||||
let val := mkAppN val (minors ++ indices ++ #[major])
|
||||
trace[Meta.sizeOf]! "val: {val}"
|
||||
trace[Meta.sizeOf] "val: {val}"
|
||||
let sizeOfValue ← mkLambdaFVars sizeOfParams val
|
||||
addDecl <| Declaration.defnDecl {
|
||||
name := declName
|
||||
|
|
@ -205,7 +205,7 @@ private def recToSizeOf (e : Expr) : M Expr := do
|
|||
mutual
|
||||
/-- Construct minor premise proof for `mkSizeOfAuxLemmaProof`. `ys` contains fields and inductive hypotheses for the minor premise. -/
|
||||
private partial def mkMinorProof (ys : Array Expr) (lhs rhs : Expr) : M Expr := do
|
||||
trace[Meta.sizeOf.minor]! "{lhs} =?= {rhs}"
|
||||
trace[Meta.sizeOf.minor] "{lhs} =?= {rhs}"
|
||||
if (← isDefEq lhs rhs) then
|
||||
mkEqRefl rhs
|
||||
else
|
||||
|
|
@ -228,7 +228,7 @@ mutual
|
|||
mkEqRefl rhs
|
||||
else
|
||||
let lhs ← recToSizeOf lhs
|
||||
trace[Meta.sizeOf.minor.step]! "{lhs} =?= {rhs}"
|
||||
trace[Meta.sizeOf.minor.step] "{lhs} =?= {rhs}"
|
||||
let target ← mkEq lhs rhs
|
||||
for y in ys do
|
||||
if (← isDefEq (← inferType y) target) then
|
||||
|
|
@ -317,7 +317,7 @@ mutual
|
|||
`Expr._sizeOf_1 args` is **not** definitionally equal to `sizeOf args`. We need a proof by induction.
|
||||
-/
|
||||
private partial def mkSizeOfAuxLemma (lhs rhs : Expr) : M Expr := do
|
||||
trace[Meta.sizeOf.aux]! "{lhs} =?= {rhs}"
|
||||
trace[Meta.sizeOf.aux] "{lhs} =?= {rhs}"
|
||||
match lhs.getAppFn.const? with
|
||||
| none => throwFailed
|
||||
| some (fName, us) =>
|
||||
|
|
@ -347,7 +347,7 @@ mutual
|
|||
let thmType ← mkForallFVars thmParams eq
|
||||
let thmValue ← mkSizeOfAuxLemmaProof info lhsNew rhsNew
|
||||
let thmValue ← mkLambdaFVars thmParams thmValue
|
||||
trace[Meta.sizeOf]! "thmValue: {thmValue}"
|
||||
trace[Meta.sizeOf] "thmValue: {thmValue}"
|
||||
addDecl <| Declaration.thmDecl {
|
||||
name := thmName
|
||||
levelParams := thmLevelParams
|
||||
|
|
@ -369,7 +369,7 @@ partial def main (lhs rhs : Expr) : M Expr := do
|
|||
loop lhs rhs
|
||||
where
|
||||
loop (lhs rhs : Expr) : M Expr := do
|
||||
trace[Meta.sizeOf.loop]! "{lhs} =?= {rhs}"
|
||||
trace[Meta.sizeOf.loop] "{lhs} =?= {rhs}"
|
||||
if (← isDefEq lhs rhs) then
|
||||
mkEqRefl rhs
|
||||
else
|
||||
|
|
|
|||
32
stage0/src/Lean/Meta/SynthInstance.lean
generated
32
stage0/src/Lean/Meta/SynthInstance.lean
generated
|
|
@ -199,7 +199,7 @@ def getInstances (type : Expr) : MetaM (Array Expr) := do
|
|||
let result ← result.mapM fun e => match e.val with
|
||||
| Expr.const constName us _ => return e.val.updateConst! (← us.mapM (fun _ => mkFreshLevelMVar))
|
||||
| _ => panic! "global instance is not a constant"
|
||||
trace[Meta.synthInstance.globalInstances]! "{type}, {result}"
|
||||
trace[Meta.synthInstance.globalInstances] "{type}, {result}"
|
||||
let result := localInstances.foldl (init := result) fun (result : Array Expr) linst =>
|
||||
if linst.className == className then result.push linst.fvar else result
|
||||
pure result
|
||||
|
|
@ -224,7 +224,7 @@ def mkGeneratorNode? (key mvar : Expr) : MetaM (Option GeneratorNode) := do
|
|||
`key` must be `mkTableKey mctx mvarType`. -/
|
||||
def newSubgoal (mctx : MetavarContext) (key : Expr) (mvar : Expr) (waiter : Waiter) : SynthM Unit :=
|
||||
withMCtx mctx do
|
||||
trace[Meta.synthInstance.newSubgoal]! key
|
||||
trace[Meta.synthInstance.newSubgoal] key
|
||||
match (← mkGeneratorNode? key mvar) with
|
||||
| none => pure ()
|
||||
| some node =>
|
||||
|
|
@ -316,17 +316,17 @@ def tryResolveCore (mvar : Expr) (inst : Expr) : MetaM (Option (MetavarContext
|
|||
let localInsts ← getLocalInstances
|
||||
forallTelescopeReducing mvarType fun xs mvarTypeBody => do
|
||||
let ⟨subgoals, instVal, instTypeBody⟩ ← getSubgoals lctx localInsts xs inst
|
||||
trace[Meta.synthInstance.tryResolve]! "{mvarTypeBody} =?= {instTypeBody}"
|
||||
trace[Meta.synthInstance.tryResolve] "{mvarTypeBody} =?= {instTypeBody}"
|
||||
if (← isDefEq mvarTypeBody instTypeBody) then
|
||||
let instVal ← mkLambdaFVars xs instVal
|
||||
if (← isDefEq mvar instVal) then
|
||||
trace[Meta.synthInstance.tryResolve]! "success"
|
||||
trace[Meta.synthInstance.tryResolve] "success"
|
||||
pure (some ((← getMCtx), subgoals))
|
||||
else
|
||||
trace[Meta.synthInstance.tryResolve]! "failure assigning"
|
||||
trace[Meta.synthInstance.tryResolve] "failure assigning"
|
||||
pure none
|
||||
else
|
||||
trace[Meta.synthInstance.tryResolve]! "failure"
|
||||
trace[Meta.synthInstance.tryResolve] "failure"
|
||||
pure none
|
||||
|
||||
/--
|
||||
|
|
@ -355,7 +355,7 @@ def wakeUp (answer : Answer) : Waiter → SynthM Unit
|
|||
modify fun s => { s with result := answer.result.expr }
|
||||
else
|
||||
let (_, _, answerExpr) ← openAbstractMVarsResult answer.result
|
||||
trace[Meta.synthInstance]! "skip answer containing metavariables {answerExpr}"
|
||||
trace[Meta.synthInstance] "skip answer containing metavariables {answerExpr}"
|
||||
pure ()
|
||||
| Waiter.consumerNode cNode =>
|
||||
modify fun s => { s with resumeStack := s.resumeStack.push (cNode, answer) }
|
||||
|
|
@ -370,7 +370,7 @@ private def mkAnswer (cNode : ConsumerNode) : MetaM Answer :=
|
|||
withMCtx cNode.mctx do
|
||||
traceM `Meta.synthInstance.newAnswer do m!"size: {cNode.size}, {← inferType cNode.mvar}"
|
||||
let val ← instantiateMVars cNode.mvar
|
||||
trace[Meta.synthInstance.newAnswer]! "val: {val}"
|
||||
trace[Meta.synthInstance.newAnswer] "val: {val}"
|
||||
let result ← abstractMVars val -- assignable metavariables become parameters
|
||||
let resultType ← inferType result.expr
|
||||
pure { result := result, resultType := resultType, size := cNode.size + 1 }
|
||||
|
|
@ -425,7 +425,7 @@ def generate : SynthM Unit := do
|
|||
let inst := gNode.instances.get! idx
|
||||
let mctx := gNode.mctx
|
||||
let mvar := gNode.mvar
|
||||
trace[Meta.synthInstance.generate]! "instance {inst}"
|
||||
trace[Meta.synthInstance.generate] "instance {inst}"
|
||||
modifyTop fun gNode => { gNode with currInstanceIdx := idx }
|
||||
match (← tryResolve mctx mvar inst) with
|
||||
| none => pure ()
|
||||
|
|
@ -475,12 +475,12 @@ partial def synth : SynthM (Option Expr) := do
|
|||
| none => synth
|
||||
| some result => pure result
|
||||
else
|
||||
trace[Meta.synthInstance]! "failed"
|
||||
trace[Meta.synthInstance] "failed"
|
||||
pure none
|
||||
|
||||
def main (type : Expr) (maxResultSize : Nat) : MetaM (Option Expr) :=
|
||||
withCurrHeartbeats <| traceCtx `Meta.synthInstance do
|
||||
trace[Meta.synthInstance]! "main goal {type}"
|
||||
trace[Meta.synthInstance] "main goal {type}"
|
||||
let mvar ← mkFreshExprMVar type
|
||||
let mctx ← getMCtx
|
||||
let key := mkTableKey mctx type
|
||||
|
|
@ -577,27 +577,27 @@ def synthInstance? (type : Expr) (maxResultSize? : Option Nat := none) : MetaM (
|
|||
| none =>
|
||||
let result? ← withNewMCtxDepth do
|
||||
let normType ← preprocessOutParam type
|
||||
trace[Meta.synthInstance]! "{type} ==> {normType}"
|
||||
trace[Meta.synthInstance] "{type} ==> {normType}"
|
||||
match (← SynthInstance.main normType maxResultSize) with
|
||||
| none => pure none
|
||||
| some result =>
|
||||
trace[Meta.synthInstance]! "FOUND result {result}"
|
||||
trace[Meta.synthInstance] "FOUND result {result}"
|
||||
let result ← instantiateMVars result
|
||||
if (← hasAssignableMVar result) then
|
||||
trace[Meta.synthInstance]! "Failed has assignable mvar {result.setOption `pp.all true}"
|
||||
trace[Meta.synthInstance] "Failed has assignable mvar {result.setOption `pp.all true}"
|
||||
pure none
|
||||
else
|
||||
pure (some result)
|
||||
let result? ← match result? with
|
||||
| none => pure none
|
||||
| some result => do
|
||||
trace[Meta.synthInstance]! "result {result}"
|
||||
trace[Meta.synthInstance] "result {result}"
|
||||
let resultType ← inferType result
|
||||
if (← withConfig (fun _ => inputConfig) <| isDefEq type resultType) then
|
||||
let result ← instantiateMVars result
|
||||
pure (some result)
|
||||
else
|
||||
trace[Meta.synthInstance]! "result type{indentExpr resultType}\nis not definitionally equal to{indentExpr type}"
|
||||
trace[Meta.synthInstance] "result type{indentExpr resultType}\nis not definitionally equal to{indentExpr type}"
|
||||
pure none
|
||||
if type.hasMVar then
|
||||
pure result?
|
||||
|
|
|
|||
2
stage0/src/Lean/Meta/Tactic/Cases.lean
generated
2
stage0/src/Lean/Meta/Tactic/Cases.lean
generated
|
|
@ -296,7 +296,7 @@ def cases (mvarId : MVarId) (majorFVarId : FVarId) (givenNames : Array AltVarNam
|
|||
inductionCasesOn mvarId majorFVarId givenNames ctx
|
||||
else
|
||||
let s₁ ← generalizeIndices mvarId majorFVarId
|
||||
trace[Meta.Tactic.cases]! "after generalizeIndices\n{MessageData.ofGoal s₁.mvarId}"
|
||||
trace[Meta.Tactic.cases] "after generalizeIndices\n{MessageData.ofGoal s₁.mvarId}"
|
||||
let s₂ ← inductionCasesOn s₁.mvarId s₁.fvarId givenNames ctx
|
||||
let s₂ ← elimAuxIndices s₁ s₂
|
||||
unifyCasesEqs s₁.numEqs s₂
|
||||
|
|
|
|||
4
stage0/src/Lean/Meta/Tactic/Induction.lean
generated
4
stage0/src/Lean/Meta/Tactic/Induction.lean
generated
|
|
@ -124,7 +124,7 @@ private def throwUnexpectedMajorType {α} (mvarId : MVarId) (majorType : Expr) :
|
|||
|
||||
def induction (mvarId : MVarId) (majorFVarId : FVarId) (recursorName : Name) (givenNames : Array AltVarNames := #[]) : MetaM (Array InductionSubgoal) :=
|
||||
withMVarContext mvarId do
|
||||
trace[Meta.Tactic.induction]! "initial\n{MessageData.ofGoal mvarId}"
|
||||
trace[Meta.Tactic.induction] "initial\n{MessageData.ofGoal mvarId}"
|
||||
checkNotAssigned mvarId `induction
|
||||
let majorLocalDecl ← getLocalDecl majorFVarId
|
||||
let recursorInfo ← mkRecursorInfo recursorName
|
||||
|
|
@ -168,7 +168,7 @@ def induction (mvarId : MVarId) (majorFVarId : FVarId) (recursorName : Name) (gi
|
|||
subst := subst.insert index.fvarId! (mkFVar indices'[i])
|
||||
i := i + 1
|
||||
pure subst
|
||||
trace[Meta.Tactic.induction]! "after revert&intro\n{MessageData.ofGoal mvarId}"
|
||||
trace[Meta.Tactic.induction] "after revert&intro\n{MessageData.ofGoal mvarId}"
|
||||
-- Update indices and major
|
||||
let indices := indices'.map mkFVar
|
||||
let majorFVarId := majorFVarId'
|
||||
|
|
|
|||
1
stage0/src/Lean/Meta/Tactic/Injection.lean
generated
1
stage0/src/Lean/Meta/Tactic/Injection.lean
generated
|
|
@ -93,7 +93,6 @@ def injection (mvarId : MVarId) (fvarId : FVarId) (newNames : List Name := []) (
|
|||
match (← injectionCore mvarId fvarId) with
|
||||
| InjectionResultCore.solved => pure InjectionResult.solved
|
||||
| InjectionResultCore.subgoal mvarId numEqs =>
|
||||
trace[Meta.debug]! "before injectionIntro\n{MessageData.ofGoal mvarId}"
|
||||
injectionIntro numEqs mvarId #[] newNames
|
||||
|
||||
end Lean.Meta
|
||||
|
|
|
|||
|
|
@ -90,7 +90,7 @@ def mkCongrLemma (declName : Name) (prio : Nat) : MetaM CongrLemma := withReduci
|
|||
foundMVars := foundMVars.insert x.mvarId! |>.insert rhsFn.mvarId!
|
||||
hypothesesPos := hypothesesPos.push i
|
||||
i := i + 1
|
||||
trace[Meta.debug]! "c: {c} : {type}"
|
||||
trace[Meta.debug] "c: {c} : {type}"
|
||||
return {
|
||||
theoremName := declName
|
||||
funName := lhsFn.constName!
|
||||
|
|
|
|||
21
stage0/src/Lean/Meta/Tactic/Simp/Main.lean
generated
21
stage0/src/Lean/Meta/Tactic/Simp/Main.lean
generated
|
|
@ -57,7 +57,6 @@ private def reduceProjFn? (e : Expr) : SimpM (Option Expr) := do
|
|||
match (← getProjectionFnInfo? cinfo.name) with
|
||||
| none => return none
|
||||
| some projInfo =>
|
||||
trace[Meta.debug]! "reduceProjFn? {projInfo.fromClass}, {cinfo.name}, {e}"
|
||||
if projInfo.fromClass then
|
||||
if (← read).toUnfold.contains cinfo.name then
|
||||
-- We only unfold class projections when the user explicitly requested them to be unfolded.
|
||||
|
|
@ -103,7 +102,7 @@ private partial def reduce (e : Expr) : SimpM Expr := withIncRecDepth do
|
|||
-- TODO: eta reduction
|
||||
if cfg.proj then
|
||||
match (← reduceProjFn? e) with
|
||||
| some e => trace[Meta.debug]! "reduceProjFn? result {e}"; return (← reduce e)
|
||||
| some e => return (← reduce e)
|
||||
| none => pure ()
|
||||
if cfg.iota then
|
||||
match (← reduceRecMatcher? e) with
|
||||
|
|
@ -168,7 +167,7 @@ where
|
|||
let mut r ← simp f
|
||||
let mut i := 0
|
||||
for arg in args do
|
||||
trace[Debug.Meta.Tactic.simp]! "app [{i}] {infos.size} {arg} hasFwdDeps: {infos[i].hasFwdDeps}"
|
||||
trace[Debug.Meta.Tactic.simp] "app [{i}] {infos.size} {arg} hasFwdDeps: {infos[i].hasFwdDeps}"
|
||||
if i < infos.size && !infos[i].hasFwdDeps then
|
||||
r ← mkCongr r (← simp arg)
|
||||
else
|
||||
|
|
@ -192,7 +191,7 @@ where
|
|||
|
||||
/- Try to rewrite `e` children using the given congruence lemma -/
|
||||
tryCongrLemma? (c : CongrLemma) (e : Expr) : M (Option Result) := withNewMCtxDepth do
|
||||
trace[Debug.Meta.Tactic.simp.congr]! "{c.theoremName}, {e}"
|
||||
trace[Debug.Meta.Tactic.simp.congr] "{c.theoremName}, {e}"
|
||||
let info ← getConstInfo c.theoremName
|
||||
let lemma := mkConst c.theoremName (← info.levelParams.mapM fun _ => mkFreshLevelMVar)
|
||||
let (xs, bis, type) ← forallMetaTelescopeReducing (← inferType lemma)
|
||||
|
|
@ -208,13 +207,13 @@ where
|
|||
if (← processCongrHypothesis x) then
|
||||
modified := true
|
||||
catch _ =>
|
||||
trace[Meta.Tactic.simp.congr]! "processCongrHypothesis {c.theoremName} failed {← inferType x}"
|
||||
trace[Meta.Tactic.simp.congr] "processCongrHypothesis {c.theoremName} failed {← inferType x}"
|
||||
return none
|
||||
unless modified do
|
||||
trace[Meta.Tactic.simp.congr]! "{c.theoremName} not modified"
|
||||
trace[Meta.Tactic.simp.congr] "{c.theoremName} not modified"
|
||||
return none
|
||||
unless (← synthesizeArgs c.theoremName xs bis (← read).discharge?) do
|
||||
trace[Meta.Tactic.simp.congr]! "{c.theoremName} synthesizeArgs failed"
|
||||
trace[Meta.Tactic.simp.congr] "{c.theoremName} synthesizeArgs failed"
|
||||
return none
|
||||
let eNew ← instantiateMVars rhs
|
||||
let proof ← instantiateMVars (mkAppN lemma xs)
|
||||
|
|
@ -272,13 +271,13 @@ where
|
|||
return { expr := eNew, proof? := p }
|
||||
|
||||
simpArrow (e : Expr) : M Result := do
|
||||
trace[Debug.Meta.Tactic.simp]! "arrow {e}"
|
||||
trace[Debug.Meta.Tactic.simp] "arrow {e}"
|
||||
let p := e.bindingDomain!
|
||||
let q := e.bindingBody!
|
||||
let rp ← simp p
|
||||
trace[Debug.Meta.Tactic.simp]! "arrow [{(← getConfig).contextual}] {p} [{← isProp p}] -> {q} [{← isProp q}]"
|
||||
trace[Debug.Meta.Tactic.simp] "arrow [{(← getConfig).contextual}] {p} [{← isProp p}] -> {q} [{← isProp q}]"
|
||||
if (← (← getConfig).contextual <&&> isProp p <&&> isProp q) then
|
||||
trace[Debug.Meta.Tactic.simp]! "ctx arrow {rp.expr} -> {q}"
|
||||
trace[Debug.Meta.Tactic.simp] "ctx arrow {rp.expr} -> {q}"
|
||||
withLocalDeclD e.bindingName! rp.expr fun h => do
|
||||
let s ← getSimpLemmas
|
||||
let s ← s.add h
|
||||
|
|
@ -293,7 +292,7 @@ where
|
|||
mkImpCongr rp (← simp q)
|
||||
|
||||
simpForall (e : Expr) : M Result := withParent e do
|
||||
trace[Debug.Meta.Tactic.simp]! "forall {e}"
|
||||
trace[Debug.Meta.Tactic.simp] "forall {e}"
|
||||
if e.isArrow then
|
||||
simpArrow e
|
||||
else if (← isProp e) then
|
||||
|
|
|
|||
16
stage0/src/Lean/Meta/Tactic/Simp/Rewrite.lean
generated
16
stage0/src/Lean/Meta/Tactic/Simp/Rewrite.lean
generated
|
|
@ -15,19 +15,19 @@ def synthesizeArgs (lemmaName : Name) (xs : Array Expr) (bis : Array BinderInfo)
|
|||
match ← trySynthInstance type with
|
||||
| LOption.some val =>
|
||||
unless (← isDefEq x val) do
|
||||
trace[Meta.Tactic.simp.discharge]! "{lemmaName}, failed to assign instance{indentExpr type}"
|
||||
trace[Meta.Tactic.simp.discharge] "{lemmaName}, failed to assign instance{indentExpr type}"
|
||||
return false
|
||||
| _ =>
|
||||
trace[Meta.Tactic.simp.discharge]! "{lemmaName}, failed to synthesize instance{indentExpr type}"
|
||||
trace[Meta.Tactic.simp.discharge] "{lemmaName}, failed to synthesize instance{indentExpr type}"
|
||||
return false
|
||||
else if (← isProp type <&&> (← instantiateMVars x).isMVar) then
|
||||
match ← discharge? type with
|
||||
| some proof =>
|
||||
unless (← isDefEq x proof) do
|
||||
trace[Meta.Tactic.simp.discharge]! "{lemmaName}, failed to assign proof{indentExpr type}"
|
||||
trace[Meta.Tactic.simp.discharge] "{lemmaName}, failed to assign proof{indentExpr type}"
|
||||
return false
|
||||
| none =>
|
||||
trace[Meta.Tactic.simp.discharge]! "{lemmaName}, failed to discharge hypotheses{indentExpr type}"
|
||||
trace[Meta.Tactic.simp.discharge] "{lemmaName}, failed to discharge hypotheses{indentExpr type}"
|
||||
return false
|
||||
return true
|
||||
|
||||
|
|
@ -37,7 +37,7 @@ Remark: the parameter tag is used for creating trace messages. It is irrelevant
|
|||
def rewrite (e : Expr) (s : DiscrTree SimpLemma) (erased : SimpLemmaNameSet) (discharge? : Expr → SimpM (Option Expr)) (tag : String) : SimpM Result := do
|
||||
let lemmas ← s.getMatch e
|
||||
if lemmas.isEmpty then
|
||||
trace[Debug.Meta.Tactic.simp]! "no lemmas found for {tag}-rewriting {e}"
|
||||
trace[Debug.Meta.Tactic.simp] "no lemmas found for {tag}-rewriting {e}"
|
||||
return { expr := e }
|
||||
else
|
||||
let lemmas := lemmas.insertionSort fun e₁ e₂ => e₁.priority < e₂.priority
|
||||
|
|
@ -69,16 +69,16 @@ where
|
|||
if e == rhs then
|
||||
return none
|
||||
if lemma.perm && !Expr.lt rhs e then
|
||||
trace[Meta.Tactic.simp.rewrite]! "{lemma}, perm rejected {e} ==> {rhs}"
|
||||
trace[Meta.Tactic.simp.rewrite] "{lemma}, perm rejected {e} ==> {rhs}"
|
||||
return none
|
||||
trace[Meta.Tactic.simp.rewrite]! "{lemma}, {e} ==> {rhs}"
|
||||
trace[Meta.Tactic.simp.rewrite] "{lemma}, {e} ==> {rhs}"
|
||||
return some { expr := rhs, proof? := proof }
|
||||
else
|
||||
unless lhs.isMVar do
|
||||
-- We do not report unification failures when `lhs` is a metavariable
|
||||
-- Example: `x = ()`
|
||||
-- TODO: reconsider if we want lemmas such as `(x : Unit) → x = ()`
|
||||
trace[Meta.Tactic.simp.unify]! "{lemma}, failed to unify {lhs} with {e}"
|
||||
trace[Meta.Tactic.simp.unify] "{lemma}, failed to unify {lhs} with {e}"
|
||||
return none
|
||||
|
||||
def rewriteCtorEq? (e : Expr) : MetaM (Option Result) := withReducibleAndInstances do
|
||||
|
|
|
|||
10
stage0/src/Lean/Meta/Tactic/Subst.lean
generated
10
stage0/src/Lean/Meta/Tactic/Subst.lean
generated
|
|
@ -29,16 +29,16 @@ def substCore (mvarId : MVarId) (hFVarId : FVarId) (symm := false) (fvarSubst :
|
|||
match a with
|
||||
| Expr.fvar aFVarId _ => do
|
||||
let aFVarIdOriginal := aFVarId
|
||||
trace[Meta.Tactic.subst]! "substituting {a} (id: {aFVarId}) with {b}"
|
||||
trace[Meta.Tactic.subst] "substituting {a} (id: {aFVarId}) with {b}"
|
||||
let mctx ← getMCtx
|
||||
if mctx.exprDependsOn b aFVarId then
|
||||
throwTacticEx `subst mvarId m!"'{a}' occurs at{indentExpr b}"
|
||||
let aLocalDecl ← getLocalDecl aFVarId
|
||||
let (vars, mvarId) ← revert mvarId #[aFVarId, hFVarId] true
|
||||
trace[Meta.Tactic.subst]! "after revert {MessageData.ofGoal mvarId}"
|
||||
trace[Meta.Tactic.subst] "after revert {MessageData.ofGoal mvarId}"
|
||||
let (twoVars, mvarId) ← introNP mvarId 2
|
||||
trace[Meta.Tactic.subst]! "after intro2 {MessageData.ofGoal mvarId}"
|
||||
trace[Meta.Tactic.subst]! "reverted variables {vars}"
|
||||
trace[Meta.Tactic.subst] "after intro2 {MessageData.ofGoal mvarId}"
|
||||
trace[Meta.Tactic.subst] "reverted variables {vars}"
|
||||
let aFVarId := twoVars[0]
|
||||
let a := mkFVar aFVarId
|
||||
let hFVarId := twoVars[1]
|
||||
|
|
@ -83,7 +83,7 @@ def substCore (mvarId : MVarId) (hFVarId : FVarId) (symm := false) (fvarSubst :
|
|||
else
|
||||
pure mvarId
|
||||
let (newFVars, mvarId) ← introNP mvarId (vars.size - 2)
|
||||
trace[Meta.Tactic.subst]! "after intro rest {vars.size - 2} {MessageData.ofGoal mvarId}"
|
||||
trace[Meta.Tactic.subst] "after intro rest {vars.size - 2} {MessageData.ofGoal mvarId}"
|
||||
let fvarSubst ← newFVars.size.foldM (init := fvarSubst) fun i (fvarSubst : FVarSubst) =>
|
||||
let var := vars[i+2]
|
||||
let newFVar := newFVars[i]
|
||||
|
|
|
|||
8
stage0/src/Lean/Meta/UnificationHint.lean
generated
8
stage0/src/Lean/Meta/UnificationHint.lean
generated
|
|
@ -79,7 +79,7 @@ def addUnificationHint (declName : Name) (kind : AttributeKind) : MetaM Unit :=
|
|||
let keys ← DiscrTree.mkPath hint.pattern.lhs
|
||||
validateHint declName hint
|
||||
unificationHintExtension.add { keys := keys, val := declName } kind
|
||||
trace[Meta.debug]! "addUnificationHint: {unificationHintExtension.getState (← getEnv)}"
|
||||
trace[Meta.debug] "addUnificationHint: {unificationHintExtension.getState (← getEnv)}"
|
||||
|
||||
builtin_initialize
|
||||
registerBuiltinAttribute {
|
||||
|
|
@ -91,7 +91,7 @@ builtin_initialize
|
|||
}
|
||||
|
||||
def tryUnificationHints (t s : Expr) : MetaM Bool := do
|
||||
trace[Meta.isDefEq.hint]! "{t} =?= {s}"
|
||||
trace[Meta.isDefEq.hint] "{t} =?= {s}"
|
||||
unless (← read).config.unificationHints do
|
||||
return false
|
||||
if t.isMVar then
|
||||
|
|
@ -108,7 +108,7 @@ where
|
|||
|
||||
tryCandidate candidate : MetaM Bool :=
|
||||
traceCtx `Meta.isDefEq.hint <| commitWhen do
|
||||
trace[Meta.isDefEq.hint]! "trying hint {candidate} at {t} =?= {s}"
|
||||
trace[Meta.isDefEq.hint] "trying hint {candidate} at {t} =?= {s}"
|
||||
let cinfo ← getConstInfo candidate
|
||||
let us ← cinfo.levelParams.mapM fun _ => mkFreshLevelMVar
|
||||
let val := cinfo.instantiateValueLevelParams us
|
||||
|
|
@ -124,7 +124,7 @@ where
|
|||
match hint? with
|
||||
| none => return false
|
||||
| some hint =>
|
||||
trace[Meta.isDefEq.hint]! "{candidate} succeeded, applying constraints"
|
||||
trace[Meta.isDefEq.hint] "{candidate} succeeded, applying constraints"
|
||||
for c in hint.constraints do
|
||||
unless (← Meta.isExprDefEqAux c.lhs c.rhs) do
|
||||
return false
|
||||
|
|
|
|||
4
stage0/src/Lean/Meta/WHNF.lean
generated
4
stage0/src/Lean/Meta/WHNF.lean
generated
|
|
@ -337,7 +337,7 @@ private def whnfDelayedAssigned? (f' : Expr) (e : Expr) : MetaM (Option Expr) :=
|
|||
expand let-expressions, expand assigned meta-variables. -/
|
||||
partial def whnfCore (e : Expr) : MetaM Expr :=
|
||||
whnfEasyCases e fun e => do
|
||||
trace[Meta.whnf]! e
|
||||
trace[Meta.whnf] e
|
||||
match e with
|
||||
| Expr.const .. => pure e
|
||||
| Expr.letE _ _ v b _ => whnfCore $ b.instantiate1 v
|
||||
|
|
@ -519,7 +519,7 @@ def reduceUnaryNatOp (f : Nat → Nat) (a : Expr) : MetaM (Option Expr) :=
|
|||
def reduceBinNatOp (f : Nat → Nat → Nat) (a b : Expr) : MetaM (Option Expr) :=
|
||||
withNatValue a fun a =>
|
||||
withNatValue b fun b => do
|
||||
trace[Meta.isDefEq.whnf.reduceBinOp]! "{a} op {b}"
|
||||
trace[Meta.isDefEq.whnf.reduceBinOp] "{a} op {b}"
|
||||
return mkNatLit <| f a b
|
||||
|
||||
def reduceBinNatPred (f : Nat → Nat → Bool) (a b : Expr) : MetaM (Option Expr) := do
|
||||
|
|
|
|||
|
|
@ -380,7 +380,7 @@ end Delaborator
|
|||
|
||||
/-- "Delaborate" the given term into surface-level syntax using the default and given subterm-specific options. -/
|
||||
def delab (currNamespace : Name) (openDecls : List OpenDecl) (e : Expr) (optionsPerPos : OptionsPerPos := {}) : MetaM Syntax := do
|
||||
trace[PrettyPrinter.delab.input]! "{fmt e}"
|
||||
trace[PrettyPrinter.delab.input] "{fmt e}"
|
||||
let opts ← MonadOptions.getOptions
|
||||
catchInternalId Delaborator.delabFailureId
|
||||
(Delaborator.delab.run { expr := e, defaultOptions := opts, optionsPerPos := optionsPerPos, currNamespace := currNamespace, openDecls := openDecls })
|
||||
|
|
|
|||
8
stage0/src/Lean/PrettyPrinter/Formatter.lean
generated
8
stage0/src/Lean/PrettyPrinter/Formatter.lean
generated
|
|
@ -187,7 +187,7 @@ def tokenWithAntiquot.formatter (p : Formatter) : Formatter := do
|
|||
@[combinatorFormatter Lean.Parser.categoryParser]
|
||||
def categoryParser.formatter (cat : Name) : Formatter := group $ indent do
|
||||
let stx ← getCur
|
||||
trace[PrettyPrinter.format]! "formatting {indentD (fmt stx)}"
|
||||
trace[PrettyPrinter.format] "formatting {indentD (fmt stx)}"
|
||||
if stx.getKind == `choice then
|
||||
visitArgs do
|
||||
-- format only last choice
|
||||
|
|
@ -226,7 +226,7 @@ def andthen.formatter (p1 p2 : Formatter) : Formatter := p2 *> p1
|
|||
def checkKind (k : SyntaxNodeKind) : FormatterM Unit := do
|
||||
let stx ← getCur
|
||||
if k != stx.getKind then
|
||||
trace[PrettyPrinter.format.backtrack]! "unexpected node kind '{stx.getKind}', expected '{k}'"
|
||||
trace[PrettyPrinter.format.backtrack] "unexpected node kind '{stx.getKind}', expected '{k}'"
|
||||
throwBacktrack
|
||||
|
||||
@[combinatorFormatter Lean.Parser.node]
|
||||
|
|
@ -314,7 +314,7 @@ def symbolNoAntiquot.formatter (sym : String) : Formatter := do
|
|||
pushToken info sym
|
||||
goLeft
|
||||
else do
|
||||
trace[PrettyPrinter.format.backtrack]! "unexpected syntax '{fmt stx}', expected symbol '{sym}'"
|
||||
trace[PrettyPrinter.format.backtrack] "unexpected syntax '{fmt stx}', expected symbol '{sym}'"
|
||||
throwBacktrack
|
||||
|
||||
@[combinatorFormatter Lean.Parser.nonReservedSymbolNoAntiquot] def nonReservedSymbolNoAntiquot.formatter := symbolNoAntiquot.formatter
|
||||
|
|
@ -478,7 +478,7 @@ end Formatter
|
|||
open Formatter
|
||||
|
||||
def format (formatter : Formatter) (stx : Syntax) : CoreM Format := do
|
||||
trace[PrettyPrinter.format.input]! "{fmt stx}"
|
||||
trace[PrettyPrinter.format.input] "{fmt stx}"
|
||||
let options ← getOptions
|
||||
let table ← Parser.builtinTokenTable.get
|
||||
catchInternalId backtrackExceptionId
|
||||
|
|
|
|||
12
stage0/src/Lean/PrettyPrinter/Parenthesizer.lean
generated
12
stage0/src/Lean/PrettyPrinter/Parenthesizer.lean
generated
|
|
@ -204,11 +204,11 @@ def maybeParenthesize (cat : Name) (canJuxtapose : Bool) (mkParen : Syntax → S
|
|||
let st ← get
|
||||
-- reset precs for the recursive call
|
||||
set { stxTrav := st.stxTrav : State }
|
||||
trace[PrettyPrinter.parenthesize]! "parenthesizing (cont := {(st.contPrec, st.contCat)}){indentD (fmt stx)}"
|
||||
trace[PrettyPrinter.parenthesize] "parenthesizing (cont := {(st.contPrec, st.contCat)}){indentD (fmt stx)}"
|
||||
x
|
||||
let { minPrec := some minPrec, trailPrec := trailPrec, trailCat := trailCat, .. } ← get
|
||||
| panic! s!"maybeParenthesize: visited a syntax tree without precedences?!{line ++ fmt stx}"
|
||||
trace[PrettyPrinter.parenthesize]! ("...precedences are {prec} >? {minPrec}" ++ if canJuxtapose then m!", {(trailPrec, trailCat)} <=? {(st.contPrec, st.contCat)}" else "")
|
||||
trace[PrettyPrinter.parenthesize] ("...precedences are {prec} >? {minPrec}" ++ if canJuxtapose then m!", {(trailPrec, trailCat)} <=? {(st.contPrec, st.contCat)}" else "")
|
||||
-- Should we parenthesize?
|
||||
if (prec > minPrec || canJuxtapose && match trailPrec, st.contPrec with | some trailPrec, some contPrec => trailCat == st.contCat && trailPrec <= contPrec | _, _ => false) then
|
||||
-- The recursive `visit` call, by the invariant, has moved to the preceding node. In order to parenthesize
|
||||
|
|
@ -226,7 +226,7 @@ def maybeParenthesize (cat : Name) (canJuxtapose : Bool) (mkParen : Syntax → S
|
|||
stx' := stx'.setHeadInfo (SourceInfo.original lead pos "".toSubstring)
|
||||
if let SourceInfo.original _ pos trail := stx.getTailInfo then
|
||||
stx' := stx'.setTailInfo (SourceInfo.original "".toSubstring pos trail)
|
||||
trace! `PrettyPrinter.parenthesize m!"parenthesized: {stx'.formatStx none}"
|
||||
trace[PrettyPrinter.parenthesize] "parenthesized: {stx'.formatStx none}"
|
||||
setCur stx'
|
||||
goLeft
|
||||
-- after parenthesization, there is no more trailing parser
|
||||
|
|
@ -377,7 +377,7 @@ def andthen.parenthesizer (p1 p2 : Parenthesizer) : Parenthesizer :=
|
|||
def node.parenthesizer (k : SyntaxNodeKind) (p : Parenthesizer) : Parenthesizer := do
|
||||
let stx ← getCur
|
||||
if k != stx.getKind then
|
||||
trace[PrettyPrinter.parenthesize.backtrack]! "unexpected node kind '{stx.getKind}', expected '{k}'"
|
||||
trace[PrettyPrinter.parenthesize.backtrack] "unexpected node kind '{stx.getKind}', expected '{k}'"
|
||||
-- HACK; see `orelse.parenthesizer`
|
||||
throwBacktrack
|
||||
visitArgs p
|
||||
|
|
@ -399,7 +399,7 @@ def leadingNode.parenthesizer (k : SyntaxNodeKind) (prec : Nat) (p : Parenthesiz
|
|||
def trailingNode.parenthesizer (k : SyntaxNodeKind) (prec : Nat) (p : Parenthesizer) : Parenthesizer := do
|
||||
let stx ← getCur
|
||||
if k != stx.getKind then
|
||||
trace[PrettyPrinter.parenthesize.backtrack]! "unexpected node kind '{stx.getKind}', expected '{k}'"
|
||||
trace[PrettyPrinter.parenthesize.backtrack] "unexpected node kind '{stx.getKind}', expected '{k}'"
|
||||
-- HACK; see `orelse.parenthesizer`
|
||||
throwBacktrack
|
||||
visitArgs do
|
||||
|
|
@ -530,7 +530,7 @@ open Parenthesizer
|
|||
|
||||
/-- Add necessary parentheses in `stx` parsed by `parser`. -/
|
||||
def parenthesize (parenthesizer : Parenthesizer) (stx : Syntax) : CoreM Syntax := do
|
||||
trace[PrettyPrinter.parenthesize.input]! "{fmt stx}"
|
||||
trace[PrettyPrinter.parenthesize.input] "{fmt stx}"
|
||||
catchInternalId backtrackExceptionId
|
||||
(do
|
||||
let (_, st) ← (parenthesizer {}).run { stxTrav := Syntax.Traverser.fromSyntax stx }
|
||||
|
|
|
|||
8
stage0/src/Lean/Server/FileWorker.lean
generated
8
stage0/src/Lean/Server/FileWorker.lean
generated
|
|
@ -436,16 +436,16 @@ section RequestHandling
|
|||
for t in snap.toCmdState.infoState.trees do
|
||||
if let some (ci, ti) := t.goalsAt? hoverPos then
|
||||
let ci := { ci with mctx := ti.mctxAfter }
|
||||
let md ←
|
||||
if ti.goalsAfter.isEmpty then
|
||||
let goals ← ci.runMetaM {} <| ti.goalsAfter.mapM Meta.ppGoal
|
||||
let md :=
|
||||
if goals.isEmpty then
|
||||
"no goals"
|
||||
else
|
||||
let goals ← ci.runMetaM {} <| ti.goalsAfter.mapM Meta.ppGoal
|
||||
let goals := goals.map fun goal => s!"```lean
|
||||
{goal}
|
||||
```"
|
||||
String.intercalate "\n---\n" goals
|
||||
return some { rendered := md }
|
||||
return some { goals := goals.map toString |>.toArray, rendered := md }
|
||||
|
||||
return none
|
||||
|
||||
|
|
|
|||
7
stage0/src/Lean/Util/Trace.lean
generated
7
stage0/src/Lean/Util/Trace.lean
generated
|
|
@ -135,13 +135,10 @@ end
|
|||
def registerTraceClass (traceClassName : Name) : IO Unit :=
|
||||
registerOption (`trace ++ traceClassName) { group := "trace", defValue := false, descr := "enable/disable tracing for the given module and submodules" }
|
||||
|
||||
macro:max "trace!" id:term:max msg:term : term =>
|
||||
`(trace $id fun _ => ($msg : MessageData))
|
||||
|
||||
syntax "trace[" ident "]!" (interpolatedStr(term) <|> term) : term
|
||||
syntax "trace[" ident "]" (interpolatedStr(term) <|> term) : term
|
||||
|
||||
macro_rules
|
||||
| `(trace[$id]! $s) =>
|
||||
| `(trace[$id] $s) =>
|
||||
if s.getKind == interpolatedStrKind then
|
||||
`(Lean.trace $(quote id.getId) fun _ => m! $s)
|
||||
else
|
||||
|
|
|
|||
92
stage0/src/library/compiler/eager_lambda_lifting.cpp
generated
92
stage0/src/library/compiler/eager_lambda_lifting.cpp
generated
|
|
@ -189,51 +189,57 @@ class eager_lambda_lifting_fn {
|
|||
}
|
||||
|
||||
expr lift_lambda(expr e, bool apply_simp) {
|
||||
lean_assert(is_lambda(e));
|
||||
buffer<expr> fvars;
|
||||
if (!collect_fvars(e, fvars)) {
|
||||
/* Hack: We use `try` here because previous compilation steps may have
|
||||
produced type incorrect terms. */
|
||||
try {
|
||||
lean_assert(is_lambda(e));
|
||||
buffer<expr> fvars;
|
||||
if (!collect_fvars(e, fvars)) {
|
||||
return e;
|
||||
}
|
||||
buffer<expr> params;
|
||||
while (is_lambda(e)) {
|
||||
expr param_type = instantiate_rev(binding_domain(e), params.size(), params.data());
|
||||
expr param = m_lctx.mk_local_decl(ngen(), binding_name(e), param_type, binding_info(e));
|
||||
params.push_back(param);
|
||||
e = binding_body(e);
|
||||
}
|
||||
e = instantiate_rev(e, params.size(), params.data());
|
||||
buffer<expr> new_params, to_copy;
|
||||
split_fvars(fvars, params, new_params, to_copy);
|
||||
/*
|
||||
Variables in `to_copy` only depend on global constants
|
||||
and other variables in `to_copy`. Moreover, `params` do not depend on them.
|
||||
It is wasteful to pass them as new parameters to the new lifted declaration.
|
||||
We can just copy them. The code duplication is not problematic because later at `extract_closed`
|
||||
we will create global names for closed terms, and eliminate the redundancy.
|
||||
*/
|
||||
e = m_lctx.mk_lambda(to_copy, e);
|
||||
e = m_lctx.mk_lambda(params, e);
|
||||
expr code = abstract(e, new_params.size(), new_params.data());
|
||||
unsigned i = new_params.size();
|
||||
while (i > 0) {
|
||||
--i;
|
||||
local_decl const & decl = m_lctx.get_local_decl(new_params[i]);
|
||||
expr type = abstract(decl.get_type(), i, new_params.data());
|
||||
code = ::lean::mk_lambda(decl.get_user_name(), type, code);
|
||||
}
|
||||
if (apply_simp) {
|
||||
code = csimp(env(), code, m_cfg);
|
||||
}
|
||||
expr type = cheap_beta_reduce(type_checker(m_st).infer(code));
|
||||
name n = next_name();
|
||||
/* We add the auxiliary declaration `n` as a "meta" axiom to the environment.
|
||||
This is a hack to make sure we can use `csimp` to simplify `code` and
|
||||
other definitions that use `n`.
|
||||
We used a similar hack at `specialize.cpp`. */
|
||||
declaration aux_ax = mk_axiom(n, names(), type, true /* meta */);
|
||||
m_st.env() = env().add(aux_ax, false);
|
||||
m_new_decls.push_back(comp_decl(n, code));
|
||||
return mk_app(mk_constant(n), new_params);
|
||||
} catch (exception &) {
|
||||
return e;
|
||||
}
|
||||
buffer<expr> params;
|
||||
while (is_lambda(e)) {
|
||||
expr param_type = instantiate_rev(binding_domain(e), params.size(), params.data());
|
||||
expr param = m_lctx.mk_local_decl(ngen(), binding_name(e), param_type, binding_info(e));
|
||||
params.push_back(param);
|
||||
e = binding_body(e);
|
||||
}
|
||||
e = instantiate_rev(e, params.size(), params.data());
|
||||
buffer<expr> new_params, to_copy;
|
||||
split_fvars(fvars, params, new_params, to_copy);
|
||||
/*
|
||||
Variables in `to_copy` only depend on global constants
|
||||
and other variables in `to_copy`. Moreover, `params` do not depend on them.
|
||||
It is wasteful to pass them as new parameters to the new lifted declaration.
|
||||
We can just copy them. The code duplication is not problematic because later at `extract_closed`
|
||||
we will create global names for closed terms, and eliminate the redundancy.
|
||||
*/
|
||||
e = m_lctx.mk_lambda(to_copy, e);
|
||||
e = m_lctx.mk_lambda(params, e);
|
||||
expr code = abstract(e, new_params.size(), new_params.data());
|
||||
unsigned i = new_params.size();
|
||||
while (i > 0) {
|
||||
--i;
|
||||
local_decl const & decl = m_lctx.get_local_decl(new_params[i]);
|
||||
expr type = abstract(decl.get_type(), i, new_params.data());
|
||||
code = ::lean::mk_lambda(decl.get_user_name(), type, code);
|
||||
}
|
||||
if (apply_simp) {
|
||||
code = csimp(env(), code, m_cfg);
|
||||
}
|
||||
expr type = cheap_beta_reduce(type_checker(m_st).infer(code));
|
||||
name n = next_name();
|
||||
/* We add the auxiliary declaration `n` as a "meta" axiom to the environment.
|
||||
This is a hack to make sure we can use `csimp` to simplify `code` and
|
||||
other definitions that use `n`.
|
||||
We used a similar hack at `specialize.cpp`. */
|
||||
declaration aux_ax = mk_axiom(n, names(), type, true /* meta */);
|
||||
m_st.env() = env().add(aux_ax, false);
|
||||
m_new_decls.push_back(comp_decl(n, code));
|
||||
return mk_app(mk_constant(n), new_params);
|
||||
}
|
||||
|
||||
/* Given a free variable `x`, follow let-decls and return a pair `(x, v)`.
|
||||
|
|
|
|||
1306
stage0/stdlib/Lean/Data/Lsp/Diagnostics.c
generated
1306
stage0/stdlib/Lean/Data/Lsp/Diagnostics.c
generated
File diff suppressed because it is too large
Load diff
296
stage0/stdlib/Lean/Data/Lsp/Extra.c
generated
296
stage0/stdlib/Lean/Data/Lsp/Extra.c
generated
|
|
@ -13,28 +13,42 @@
|
|||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Data_Lsp_Extra_0__Lean_Lsp_fromJsonPlainGoal____x40_Lean_Data_Lsp_Extra___hyg_192____spec__2(size_t, size_t, lean_object*);
|
||||
lean_object* l___private_Lean_Data_Lsp_Extra_0__Lean_Lsp_fromJsonPlainGoal____x40_Lean_Data_Lsp_Extra___hyg_192____boxed(lean_object*);
|
||||
size_t l_USize_add(size_t, size_t);
|
||||
lean_object* l___private_Lean_Data_Lsp_Extra_0__Lean_Lsp_fromJsonPlainGoal____x40_Lean_Data_Lsp_Extra___hyg_192____closed__1;
|
||||
extern lean_object* l___private_Lean_Data_Lsp_Basic_0__Lean_Lsp_toJsonVersionedTextDocumentIdentifier____x40_Lean_Data_Lsp_Basic___hyg_976____closed__1;
|
||||
lean_object* l_Lean_Json_getObjValAs_x3f___at___private_Lean_Data_Lsp_Basic_0__Lean_Lsp_fromJsonRange____x40_Lean_Data_Lsp_Basic___hyg_387____spec__1(lean_object*, lean_object*);
|
||||
lean_object* lean_array_uget(lean_object*, size_t);
|
||||
lean_object* l___private_Lean_Data_Lsp_Extra_0__Lean_Lsp_fromJsonPlainGoal____x40_Lean_Data_Lsp_Extra___hyg_192____closed__2;
|
||||
lean_object* l___private_Lean_Data_Lsp_Extra_0__Lean_Lsp_fromJsonPlainGoalParams____x40_Lean_Data_Lsp_Extra___hyg_109_(lean_object*);
|
||||
lean_object* lean_array_uset(lean_object*, size_t, lean_object*);
|
||||
lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Data_Lsp_Extra_0__Lean_Lsp_toJsonPlainGoal____x40_Lean_Data_Lsp_Extra___hyg_236____spec__1___boxed(lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Json_getObjValAs_x3f___at___private_Lean_Data_Lsp_Basic_0__Lean_Lsp_fromJsonTextDocumentPositionParams____x40_Lean_Data_Lsp_Basic___hyg_1299____spec__1(lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Lsp_instFromJsonPlainGoal;
|
||||
lean_object* l_Lean_Json_getStr_x3f(lean_object*);
|
||||
lean_object* lean_array_get_size(lean_object*);
|
||||
lean_object* l_Lean_Lsp_instToJsonPlainGoalParams;
|
||||
lean_object* l_Lean_Json_getObjValAs_x3f___at___private_Lean_Data_Lsp_Basic_0__Lean_Lsp_fromJsonLocation____x40_Lean_Data_Lsp_Basic___hyg_533____spec__1(lean_object*, lean_object*);
|
||||
lean_object* l_List_join___rarg(lean_object*);
|
||||
lean_object* l___private_Lean_Data_Lsp_Extra_0__Lean_Lsp_fromJsonPlainGoal____x40_Lean_Data_Lsp_Extra___hyg_190_(lean_object*);
|
||||
uint8_t l_USize_decLt(size_t, size_t);
|
||||
lean_object* l___private_Lean_Data_Lsp_Extra_0__Lean_Lsp_fromJsonPlainGoal____x40_Lean_Data_Lsp_Extra___hyg_192_(lean_object*);
|
||||
lean_object* l___private_Lean_Data_Lsp_Extra_0__Lean_Lsp_toJsonWaitForDiagnosticsParams____x40_Lean_Data_Lsp_Extra___hyg_8_(lean_object*);
|
||||
lean_object* l___private_Lean_Data_Lsp_Extra_0__Lean_Lsp_fromJsonWaitForDiagnosticsParams____x40_Lean_Data_Lsp_Extra___hyg_42_(lean_object*);
|
||||
lean_object* l___private_Lean_Data_Lsp_Extra_0__Lean_Lsp_fromJsonPlainGoalParams____x40_Lean_Data_Lsp_Extra___hyg_109____boxed(lean_object*);
|
||||
lean_object* l_Lean_Lsp_instToJsonWaitForDiagnosticsParams;
|
||||
lean_object* l_Lean_Lsp_instFromJsonWaitForDiagnostics(lean_object*);
|
||||
lean_object* l_Lean_Lsp_instFromJsonPlainGoal___closed__1;
|
||||
lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Data_Lsp_Extra_0__Lean_Lsp_toJsonPlainGoal____x40_Lean_Data_Lsp_Extra___hyg_236____spec__1(size_t, size_t, lean_object*);
|
||||
lean_object* l_Lean_Lsp_instToJsonPlainGoalParams___closed__1;
|
||||
lean_object* l___private_Lean_Data_Lsp_Extra_0__Lean_Lsp_toJsonPlainGoalParams____x40_Lean_Data_Lsp_Extra___hyg_153_(lean_object*);
|
||||
lean_object* l___private_Lean_Data_Lsp_Extra_0__Lean_Lsp_toJsonPlainGoal____x40_Lean_Data_Lsp_Extra___hyg_220_(lean_object*);
|
||||
lean_object* l___private_Lean_Data_Lsp_Extra_0__Lean_Lsp_toJsonPlainGoal____x40_Lean_Data_Lsp_Extra___hyg_236_(lean_object*);
|
||||
lean_object* l_Lean_Lsp_instFromJsonWaitForDiagnostics___closed__1;
|
||||
lean_object* l_Lean_Lsp_instToJsonWaitForDiagnosticsParams___closed__1;
|
||||
lean_object* l_Lean_Lsp_instFromJsonWaitForDiagnostics___boxed(lean_object*);
|
||||
lean_object* l_Lean_Lsp_instToJsonWaitForDiagnostics___closed__1;
|
||||
size_t lean_usize_of_nat(lean_object*);
|
||||
lean_object* l_Lean_Json_getObjValAs_x3f___at___private_Lean_Data_Lsp_Extra_0__Lean_Lsp_fromJsonPlainGoal____x40_Lean_Data_Lsp_Extra___hyg_192____spec__1___boxed(lean_object*, lean_object*);
|
||||
extern lean_object* l___private_Lean_Data_Lsp_Basic_0__Lean_Lsp_toJsonTextDocumentEdit____x40_Lean_Data_Lsp_Basic___hyg_1053____closed__1;
|
||||
lean_object* l___private_Lean_Data_Lsp_Basic_0__Lean_Lsp_toJsonTextDocumentIdentifier____x40_Lean_Data_Lsp_Basic___hyg_915_(lean_object*);
|
||||
extern lean_object* l___private_Lean_Data_Lsp_Basic_0__Lean_Lsp_toJsonLocation____x40_Lean_Data_Lsp_Basic___hyg_499____closed__1;
|
||||
|
|
@ -42,18 +56,20 @@ lean_object* l_Lean_Lsp_instToJsonWaitForDiagnostics(lean_object*);
|
|||
lean_object* l_Lean_Lsp_instToJsonPlainGoal___closed__1;
|
||||
lean_object* l_Lean_Lsp_instFromJsonPlainGoalParams___closed__1;
|
||||
lean_object* l_Lean_JsonNumber_fromNat(lean_object*);
|
||||
lean_object* l_Lean_Json_getObjValD(lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Json_getObjValAs_x3f___at___private_Lean_Data_Lsp_Extra_0__Lean_Lsp_fromJsonPlainGoal____x40_Lean_Data_Lsp_Extra___hyg_192____spec__1(lean_object*, lean_object*);
|
||||
lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Data_Lsp_Extra_0__Lean_Lsp_fromJsonPlainGoal____x40_Lean_Data_Lsp_Extra___hyg_192____spec__2___boxed(lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Lsp_instToJsonWaitForDiagnostics___boxed(lean_object*);
|
||||
lean_object* l_Lean_Json_mkObj(lean_object*);
|
||||
lean_object* l_Lean_Lsp_instFromJsonWaitForDiagnosticsParams___closed__1;
|
||||
extern lean_object* l___private_Lean_Data_Lsp_Basic_0__Lean_Lsp_toJsonTextDocumentPositionParams____x40_Lean_Data_Lsp_Basic___hyg_1265____closed__1;
|
||||
lean_object* l_Lean_Lsp_instToJsonPlainGoal;
|
||||
lean_object* l_unsafeCast(lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Lsp_instFromJsonWaitForDiagnosticsParams;
|
||||
lean_object* l___private_Lean_Data_Lsp_Extra_0__Lean_Lsp_fromJsonWaitForDiagnosticsParams____x40_Lean_Data_Lsp_Extra___hyg_42____boxed(lean_object*);
|
||||
lean_object* l___private_Lean_Data_Lsp_Basic_0__Lean_Lsp_toJsonPosition____x40_Lean_Data_Lsp_Basic___hyg_185_(lean_object*);
|
||||
lean_object* l_Lean_Lsp_instFromJsonPlainGoalParams;
|
||||
lean_object* l___private_Lean_Data_Lsp_Extra_0__Lean_Lsp_fromJsonPlainGoal____x40_Lean_Data_Lsp_Extra___hyg_190____closed__1;
|
||||
lean_object* l_Lean_Json_getObjValAs_x3f___at___private_Lean_Data_Lsp_Basic_0__Lean_Lsp_fromJsonPosition____x40_Lean_Data_Lsp_Basic___hyg_219____spec__1(lean_object*, lean_object*);
|
||||
lean_object* l___private_Lean_Data_Lsp_Extra_0__Lean_Lsp_fromJsonPlainGoal____x40_Lean_Data_Lsp_Extra___hyg_190____boxed(lean_object*);
|
||||
lean_object* l_Lean_Json_getObjValAs_x3f___at_Lean_JsonRpc_instFromJsonMessage___spec__2(lean_object*, lean_object*);
|
||||
lean_object* l___private_Lean_Data_Lsp_Extra_0__Lean_Lsp_toJsonWaitForDiagnosticsParams____x40_Lean_Data_Lsp_Extra___hyg_8_(lean_object* x_1) {
|
||||
_start:
|
||||
|
|
@ -383,7 +399,82 @@ x_1 = l_Lean_Lsp_instToJsonPlainGoalParams___closed__1;
|
|||
return x_1;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l___private_Lean_Data_Lsp_Extra_0__Lean_Lsp_fromJsonPlainGoal____x40_Lean_Data_Lsp_Extra___hyg_190____closed__1() {
|
||||
lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Data_Lsp_Extra_0__Lean_Lsp_fromJsonPlainGoal____x40_Lean_Data_Lsp_Extra___hyg_192____spec__2(size_t x_1, size_t x_2, lean_object* x_3) {
|
||||
_start:
|
||||
{
|
||||
uint8_t x_4;
|
||||
x_4 = x_2 < x_1;
|
||||
if (x_4 == 0)
|
||||
{
|
||||
lean_object* x_5; lean_object* x_6;
|
||||
x_5 = x_3;
|
||||
x_6 = lean_alloc_ctor(1, 1, 0);
|
||||
lean_ctor_set(x_6, 0, x_5);
|
||||
return x_6;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11;
|
||||
x_7 = lean_array_uget(x_3, x_2);
|
||||
x_8 = lean_unsigned_to_nat(0u);
|
||||
x_9 = lean_array_uset(x_3, x_2, x_8);
|
||||
x_10 = x_7;
|
||||
x_11 = l_Lean_Json_getStr_x3f(x_10);
|
||||
lean_dec(x_10);
|
||||
if (lean_obj_tag(x_11) == 0)
|
||||
{
|
||||
lean_object* x_12;
|
||||
lean_dec(x_9);
|
||||
x_12 = lean_box(0);
|
||||
return x_12;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_13; size_t x_14; size_t x_15; lean_object* x_16; lean_object* x_17;
|
||||
x_13 = lean_ctor_get(x_11, 0);
|
||||
lean_inc(x_13);
|
||||
lean_dec(x_11);
|
||||
x_14 = 1;
|
||||
x_15 = x_2 + x_14;
|
||||
x_16 = x_13;
|
||||
x_17 = lean_array_uset(x_9, x_2, x_16);
|
||||
x_2 = x_15;
|
||||
x_3 = x_17;
|
||||
goto _start;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
lean_object* l_Lean_Json_getObjValAs_x3f___at___private_Lean_Data_Lsp_Extra_0__Lean_Lsp_fromJsonPlainGoal____x40_Lean_Data_Lsp_Extra___hyg_192____spec__1(lean_object* x_1, lean_object* x_2) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_3;
|
||||
x_3 = l_Lean_Json_getObjValD(x_1, x_2);
|
||||
if (lean_obj_tag(x_3) == 4)
|
||||
{
|
||||
lean_object* x_4; lean_object* x_5; size_t x_6; size_t x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10;
|
||||
x_4 = lean_ctor_get(x_3, 0);
|
||||
lean_inc(x_4);
|
||||
lean_dec(x_3);
|
||||
x_5 = lean_array_get_size(x_4);
|
||||
x_6 = lean_usize_of_nat(x_5);
|
||||
lean_dec(x_5);
|
||||
x_7 = 0;
|
||||
x_8 = x_4;
|
||||
x_9 = l_Array_mapMUnsafe_map___at___private_Lean_Data_Lsp_Extra_0__Lean_Lsp_fromJsonPlainGoal____x40_Lean_Data_Lsp_Extra___hyg_192____spec__2(x_6, x_7, x_8);
|
||||
x_10 = x_9;
|
||||
return x_10;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_11;
|
||||
lean_dec(x_3);
|
||||
x_11 = lean_box(0);
|
||||
return x_11;
|
||||
}
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l___private_Lean_Data_Lsp_Extra_0__Lean_Lsp_fromJsonPlainGoal____x40_Lean_Data_Lsp_Extra___hyg_192____closed__1() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1;
|
||||
|
|
@ -391,11 +482,19 @@ x_1 = lean_mk_string("rendered");
|
|||
return x_1;
|
||||
}
|
||||
}
|
||||
lean_object* l___private_Lean_Data_Lsp_Extra_0__Lean_Lsp_fromJsonPlainGoal____x40_Lean_Data_Lsp_Extra___hyg_190_(lean_object* x_1) {
|
||||
static lean_object* _init_l___private_Lean_Data_Lsp_Extra_0__Lean_Lsp_fromJsonPlainGoal____x40_Lean_Data_Lsp_Extra___hyg_192____closed__2() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1;
|
||||
x_1 = lean_mk_string("goals");
|
||||
return x_1;
|
||||
}
|
||||
}
|
||||
lean_object* l___private_Lean_Data_Lsp_Extra_0__Lean_Lsp_fromJsonPlainGoal____x40_Lean_Data_Lsp_Extra___hyg_192_(lean_object* x_1) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_2; lean_object* x_3;
|
||||
x_2 = l___private_Lean_Data_Lsp_Extra_0__Lean_Lsp_fromJsonPlainGoal____x40_Lean_Data_Lsp_Extra___hyg_190____closed__1;
|
||||
x_2 = l___private_Lean_Data_Lsp_Extra_0__Lean_Lsp_fromJsonPlainGoal____x40_Lean_Data_Lsp_Extra___hyg_192____closed__1;
|
||||
x_3 = l_Lean_Json_getObjValAs_x3f___at_Lean_JsonRpc_instFromJsonMessage___spec__2(x_1, x_2);
|
||||
if (lean_obj_tag(x_3) == 0)
|
||||
{
|
||||
|
|
@ -405,30 +504,77 @@ return x_4;
|
|||
}
|
||||
else
|
||||
{
|
||||
uint8_t x_5;
|
||||
x_5 = !lean_is_exclusive(x_3);
|
||||
if (x_5 == 0)
|
||||
lean_object* x_5; lean_object* x_6; lean_object* x_7;
|
||||
x_5 = lean_ctor_get(x_3, 0);
|
||||
lean_inc(x_5);
|
||||
lean_dec(x_3);
|
||||
x_6 = l___private_Lean_Data_Lsp_Extra_0__Lean_Lsp_fromJsonPlainGoal____x40_Lean_Data_Lsp_Extra___hyg_192____closed__2;
|
||||
x_7 = l_Lean_Json_getObjValAs_x3f___at___private_Lean_Data_Lsp_Extra_0__Lean_Lsp_fromJsonPlainGoal____x40_Lean_Data_Lsp_Extra___hyg_192____spec__1(x_1, x_6);
|
||||
if (lean_obj_tag(x_7) == 0)
|
||||
{
|
||||
return x_3;
|
||||
lean_object* x_8;
|
||||
lean_dec(x_5);
|
||||
x_8 = lean_box(0);
|
||||
return x_8;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_6; lean_object* x_7;
|
||||
x_6 = lean_ctor_get(x_3, 0);
|
||||
lean_inc(x_6);
|
||||
lean_dec(x_3);
|
||||
x_7 = lean_alloc_ctor(1, 1, 0);
|
||||
lean_ctor_set(x_7, 0, x_6);
|
||||
uint8_t x_9;
|
||||
x_9 = !lean_is_exclusive(x_7);
|
||||
if (x_9 == 0)
|
||||
{
|
||||
lean_object* x_10; lean_object* x_11;
|
||||
x_10 = lean_ctor_get(x_7, 0);
|
||||
x_11 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_11, 0, x_5);
|
||||
lean_ctor_set(x_11, 1, x_10);
|
||||
lean_ctor_set(x_7, 0, x_11);
|
||||
return x_7;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_12; lean_object* x_13; lean_object* x_14;
|
||||
x_12 = lean_ctor_get(x_7, 0);
|
||||
lean_inc(x_12);
|
||||
lean_dec(x_7);
|
||||
x_13 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_13, 0, x_5);
|
||||
lean_ctor_set(x_13, 1, x_12);
|
||||
x_14 = lean_alloc_ctor(1, 1, 0);
|
||||
lean_ctor_set(x_14, 0, x_13);
|
||||
return x_14;
|
||||
}
|
||||
}
|
||||
}
|
||||
lean_object* l___private_Lean_Data_Lsp_Extra_0__Lean_Lsp_fromJsonPlainGoal____x40_Lean_Data_Lsp_Extra___hyg_190____boxed(lean_object* x_1) {
|
||||
}
|
||||
}
|
||||
lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Data_Lsp_Extra_0__Lean_Lsp_fromJsonPlainGoal____x40_Lean_Data_Lsp_Extra___hyg_192____spec__2___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
|
||||
_start:
|
||||
{
|
||||
size_t x_4; size_t x_5; lean_object* x_6;
|
||||
x_4 = lean_unbox_usize(x_1);
|
||||
lean_dec(x_1);
|
||||
x_5 = lean_unbox_usize(x_2);
|
||||
lean_dec(x_2);
|
||||
x_6 = l_Array_mapMUnsafe_map___at___private_Lean_Data_Lsp_Extra_0__Lean_Lsp_fromJsonPlainGoal____x40_Lean_Data_Lsp_Extra___hyg_192____spec__2(x_4, x_5, x_3);
|
||||
return x_6;
|
||||
}
|
||||
}
|
||||
lean_object* l_Lean_Json_getObjValAs_x3f___at___private_Lean_Data_Lsp_Extra_0__Lean_Lsp_fromJsonPlainGoal____x40_Lean_Data_Lsp_Extra___hyg_192____spec__1___boxed(lean_object* x_1, lean_object* x_2) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_3;
|
||||
x_3 = l_Lean_Json_getObjValAs_x3f___at___private_Lean_Data_Lsp_Extra_0__Lean_Lsp_fromJsonPlainGoal____x40_Lean_Data_Lsp_Extra___hyg_192____spec__1(x_1, x_2);
|
||||
lean_dec(x_2);
|
||||
lean_dec(x_1);
|
||||
return x_3;
|
||||
}
|
||||
}
|
||||
lean_object* l___private_Lean_Data_Lsp_Extra_0__Lean_Lsp_fromJsonPlainGoal____x40_Lean_Data_Lsp_Extra___hyg_192____boxed(lean_object* x_1) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_2;
|
||||
x_2 = l___private_Lean_Data_Lsp_Extra_0__Lean_Lsp_fromJsonPlainGoal____x40_Lean_Data_Lsp_Extra___hyg_190_(x_1);
|
||||
x_2 = l___private_Lean_Data_Lsp_Extra_0__Lean_Lsp_fromJsonPlainGoal____x40_Lean_Data_Lsp_Extra___hyg_192_(x_1);
|
||||
lean_dec(x_1);
|
||||
return x_2;
|
||||
}
|
||||
|
|
@ -437,7 +583,7 @@ static lean_object* _init_l_Lean_Lsp_instFromJsonPlainGoal___closed__1() {
|
|||
_start:
|
||||
{
|
||||
lean_object* x_1;
|
||||
x_1 = lean_alloc_closure((void*)(l___private_Lean_Data_Lsp_Extra_0__Lean_Lsp_fromJsonPlainGoal____x40_Lean_Data_Lsp_Extra___hyg_190____boxed), 1, 0);
|
||||
x_1 = lean_alloc_closure((void*)(l___private_Lean_Data_Lsp_Extra_0__Lean_Lsp_fromJsonPlainGoal____x40_Lean_Data_Lsp_Extra___hyg_192____boxed), 1, 0);
|
||||
return x_1;
|
||||
}
|
||||
}
|
||||
|
|
@ -449,33 +595,99 @@ x_1 = l_Lean_Lsp_instFromJsonPlainGoal___closed__1;
|
|||
return x_1;
|
||||
}
|
||||
}
|
||||
lean_object* l___private_Lean_Data_Lsp_Extra_0__Lean_Lsp_toJsonPlainGoal____x40_Lean_Data_Lsp_Extra___hyg_220_(lean_object* x_1) {
|
||||
lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Data_Lsp_Extra_0__Lean_Lsp_toJsonPlainGoal____x40_Lean_Data_Lsp_Extra___hyg_236____spec__1(size_t x_1, size_t x_2, lean_object* x_3) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7; lean_object* x_8; lean_object* x_9;
|
||||
x_2 = lean_alloc_ctor(3, 1, 0);
|
||||
lean_ctor_set(x_2, 0, x_1);
|
||||
x_3 = l___private_Lean_Data_Lsp_Extra_0__Lean_Lsp_fromJsonPlainGoal____x40_Lean_Data_Lsp_Extra___hyg_190____closed__1;
|
||||
x_4 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_4, 0, x_3);
|
||||
lean_ctor_set(x_4, 1, x_2);
|
||||
x_5 = lean_box(0);
|
||||
x_6 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_6, 0, x_4);
|
||||
lean_ctor_set(x_6, 1, x_5);
|
||||
x_7 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_7, 0, x_6);
|
||||
lean_ctor_set(x_7, 1, x_5);
|
||||
x_8 = l_List_join___rarg(x_7);
|
||||
x_9 = l_Lean_Json_mkObj(x_8);
|
||||
return x_9;
|
||||
uint8_t x_4;
|
||||
x_4 = x_2 < x_1;
|
||||
if (x_4 == 0)
|
||||
{
|
||||
lean_object* x_5;
|
||||
x_5 = x_3;
|
||||
return x_5;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_6; lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; size_t x_11; size_t x_12; lean_object* x_13; lean_object* x_14;
|
||||
x_6 = lean_array_uget(x_3, x_2);
|
||||
x_7 = lean_unsigned_to_nat(0u);
|
||||
x_8 = lean_array_uset(x_3, x_2, x_7);
|
||||
x_9 = x_6;
|
||||
x_10 = lean_alloc_ctor(3, 1, 0);
|
||||
lean_ctor_set(x_10, 0, x_9);
|
||||
x_11 = 1;
|
||||
x_12 = x_2 + x_11;
|
||||
x_13 = x_10;
|
||||
x_14 = lean_array_uset(x_8, x_2, x_13);
|
||||
x_2 = x_12;
|
||||
x_3 = x_14;
|
||||
goto _start;
|
||||
}
|
||||
}
|
||||
}
|
||||
lean_object* l___private_Lean_Data_Lsp_Extra_0__Lean_Lsp_toJsonPlainGoal____x40_Lean_Data_Lsp_Extra___hyg_236_(lean_object* x_1) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7; lean_object* x_8; lean_object* x_9; size_t x_10; size_t x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22;
|
||||
x_2 = lean_ctor_get(x_1, 0);
|
||||
lean_inc(x_2);
|
||||
x_3 = lean_ctor_get(x_1, 1);
|
||||
lean_inc(x_3);
|
||||
lean_dec(x_1);
|
||||
x_4 = lean_alloc_ctor(3, 1, 0);
|
||||
lean_ctor_set(x_4, 0, x_2);
|
||||
x_5 = l___private_Lean_Data_Lsp_Extra_0__Lean_Lsp_fromJsonPlainGoal____x40_Lean_Data_Lsp_Extra___hyg_192____closed__1;
|
||||
x_6 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_6, 0, x_5);
|
||||
lean_ctor_set(x_6, 1, x_4);
|
||||
x_7 = lean_box(0);
|
||||
x_8 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_8, 0, x_6);
|
||||
lean_ctor_set(x_8, 1, x_7);
|
||||
x_9 = lean_array_get_size(x_3);
|
||||
x_10 = lean_usize_of_nat(x_9);
|
||||
lean_dec(x_9);
|
||||
x_11 = 0;
|
||||
x_12 = x_3;
|
||||
x_13 = l_Array_mapMUnsafe_map___at___private_Lean_Data_Lsp_Extra_0__Lean_Lsp_toJsonPlainGoal____x40_Lean_Data_Lsp_Extra___hyg_236____spec__1(x_10, x_11, x_12);
|
||||
x_14 = x_13;
|
||||
x_15 = lean_alloc_ctor(4, 1, 0);
|
||||
lean_ctor_set(x_15, 0, x_14);
|
||||
x_16 = l___private_Lean_Data_Lsp_Extra_0__Lean_Lsp_fromJsonPlainGoal____x40_Lean_Data_Lsp_Extra___hyg_192____closed__2;
|
||||
x_17 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_17, 0, x_16);
|
||||
lean_ctor_set(x_17, 1, x_15);
|
||||
x_18 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_18, 0, x_17);
|
||||
lean_ctor_set(x_18, 1, x_7);
|
||||
x_19 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_19, 0, x_18);
|
||||
lean_ctor_set(x_19, 1, x_7);
|
||||
x_20 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_20, 0, x_8);
|
||||
lean_ctor_set(x_20, 1, x_19);
|
||||
x_21 = l_List_join___rarg(x_20);
|
||||
x_22 = l_Lean_Json_mkObj(x_21);
|
||||
return x_22;
|
||||
}
|
||||
}
|
||||
lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Data_Lsp_Extra_0__Lean_Lsp_toJsonPlainGoal____x40_Lean_Data_Lsp_Extra___hyg_236____spec__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
|
||||
_start:
|
||||
{
|
||||
size_t x_4; size_t x_5; lean_object* x_6;
|
||||
x_4 = lean_unbox_usize(x_1);
|
||||
lean_dec(x_1);
|
||||
x_5 = lean_unbox_usize(x_2);
|
||||
lean_dec(x_2);
|
||||
x_6 = l_Array_mapMUnsafe_map___at___private_Lean_Data_Lsp_Extra_0__Lean_Lsp_toJsonPlainGoal____x40_Lean_Data_Lsp_Extra___hyg_236____spec__1(x_4, x_5, x_3);
|
||||
return x_6;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l_Lean_Lsp_instToJsonPlainGoal___closed__1() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1;
|
||||
x_1 = lean_alloc_closure((void*)(l___private_Lean_Data_Lsp_Extra_0__Lean_Lsp_toJsonPlainGoal____x40_Lean_Data_Lsp_Extra___hyg_220_), 1, 0);
|
||||
x_1 = lean_alloc_closure((void*)(l___private_Lean_Data_Lsp_Extra_0__Lean_Lsp_toJsonPlainGoal____x40_Lean_Data_Lsp_Extra___hyg_236_), 1, 0);
|
||||
return x_1;
|
||||
}
|
||||
}
|
||||
|
|
@ -528,8 +740,10 @@ l_Lean_Lsp_instToJsonPlainGoalParams___closed__1 = _init_l_Lean_Lsp_instToJsonPl
|
|||
lean_mark_persistent(l_Lean_Lsp_instToJsonPlainGoalParams___closed__1);
|
||||
l_Lean_Lsp_instToJsonPlainGoalParams = _init_l_Lean_Lsp_instToJsonPlainGoalParams();
|
||||
lean_mark_persistent(l_Lean_Lsp_instToJsonPlainGoalParams);
|
||||
l___private_Lean_Data_Lsp_Extra_0__Lean_Lsp_fromJsonPlainGoal____x40_Lean_Data_Lsp_Extra___hyg_190____closed__1 = _init_l___private_Lean_Data_Lsp_Extra_0__Lean_Lsp_fromJsonPlainGoal____x40_Lean_Data_Lsp_Extra___hyg_190____closed__1();
|
||||
lean_mark_persistent(l___private_Lean_Data_Lsp_Extra_0__Lean_Lsp_fromJsonPlainGoal____x40_Lean_Data_Lsp_Extra___hyg_190____closed__1);
|
||||
l___private_Lean_Data_Lsp_Extra_0__Lean_Lsp_fromJsonPlainGoal____x40_Lean_Data_Lsp_Extra___hyg_192____closed__1 = _init_l___private_Lean_Data_Lsp_Extra_0__Lean_Lsp_fromJsonPlainGoal____x40_Lean_Data_Lsp_Extra___hyg_192____closed__1();
|
||||
lean_mark_persistent(l___private_Lean_Data_Lsp_Extra_0__Lean_Lsp_fromJsonPlainGoal____x40_Lean_Data_Lsp_Extra___hyg_192____closed__1);
|
||||
l___private_Lean_Data_Lsp_Extra_0__Lean_Lsp_fromJsonPlainGoal____x40_Lean_Data_Lsp_Extra___hyg_192____closed__2 = _init_l___private_Lean_Data_Lsp_Extra_0__Lean_Lsp_fromJsonPlainGoal____x40_Lean_Data_Lsp_Extra___hyg_192____closed__2();
|
||||
lean_mark_persistent(l___private_Lean_Data_Lsp_Extra_0__Lean_Lsp_fromJsonPlainGoal____x40_Lean_Data_Lsp_Extra___hyg_192____closed__2);
|
||||
l_Lean_Lsp_instFromJsonPlainGoal___closed__1 = _init_l_Lean_Lsp_instFromJsonPlainGoal___closed__1();
|
||||
lean_mark_persistent(l_Lean_Lsp_instFromJsonPlainGoal___closed__1);
|
||||
l_Lean_Lsp_instFromJsonPlainGoal = _init_l_Lean_Lsp_instFromJsonPlainGoal();
|
||||
|
|
|
|||
10
stage0/stdlib/Lean/Data/Lsp/Ipc.c
generated
10
stage0/stdlib/Lean/Data/Lsp/Ipc.c
generated
|
|
@ -19,7 +19,7 @@ uint8_t l___private_Lean_Data_JsonRpc_0__Lean_JsonRpc_beqRequestID____x40_Lean_D
|
|||
lean_object* l_IO_FS_Stream_writeLspRequest___at_Lean_Lsp_Ipc_collectDiagnostics___spec__2(lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Lsp_Ipc_ipcStdioConfig___closed__1;
|
||||
lean_object* l_Lean_Lsp_Ipc_collectDiagnostics___closed__1;
|
||||
lean_object* l___private_Lean_Data_Lsp_Diagnostics_0__Lean_Lsp_fromJsonPublishDiagnosticsParams____x40_Lean_Data_Lsp_Diagnostics___hyg_933_(lean_object*);
|
||||
lean_object* l___private_Lean_Data_Lsp_Diagnostics_0__Lean_Lsp_fromJsonPublishDiagnosticsParams____x40_Lean_Data_Lsp_Diagnostics___hyg_971_(lean_object*);
|
||||
lean_object* l_Lean_Lsp_Ipc_readResponseAs(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Json_toStructured_x3f___at_Lean_Lsp_Ipc_collectDiagnostics___spec__3(lean_object*);
|
||||
extern lean_object* l_Array_empty___closed__1;
|
||||
|
|
@ -463,7 +463,7 @@ lean_inc(x_18);
|
|||
lean_dec(x_17);
|
||||
x_19 = lean_alloc_ctor(4, 1, 0);
|
||||
lean_ctor_set(x_19, 0, x_18);
|
||||
x_20 = l___private_Lean_Data_Lsp_Diagnostics_0__Lean_Lsp_fromJsonPublishDiagnosticsParams____x40_Lean_Data_Lsp_Diagnostics___hyg_933_(x_19);
|
||||
x_20 = l___private_Lean_Data_Lsp_Diagnostics_0__Lean_Lsp_fromJsonPublishDiagnosticsParams____x40_Lean_Data_Lsp_Diagnostics___hyg_971_(x_19);
|
||||
lean_dec(x_19);
|
||||
if (lean_obj_tag(x_20) == 0)
|
||||
{
|
||||
|
|
@ -552,7 +552,7 @@ lean_inc(x_37);
|
|||
lean_dec(x_17);
|
||||
x_38 = lean_alloc_ctor(5, 1, 0);
|
||||
lean_ctor_set(x_38, 0, x_37);
|
||||
x_39 = l___private_Lean_Data_Lsp_Diagnostics_0__Lean_Lsp_fromJsonPublishDiagnosticsParams____x40_Lean_Data_Lsp_Diagnostics___hyg_933_(x_38);
|
||||
x_39 = l___private_Lean_Data_Lsp_Diagnostics_0__Lean_Lsp_fromJsonPublishDiagnosticsParams____x40_Lean_Data_Lsp_Diagnostics___hyg_971_(x_38);
|
||||
lean_dec(x_38);
|
||||
if (lean_obj_tag(x_39) == 0)
|
||||
{
|
||||
|
|
@ -677,7 +677,7 @@ lean_inc(x_64);
|
|||
lean_dec(x_63);
|
||||
x_65 = lean_alloc_ctor(4, 1, 0);
|
||||
lean_ctor_set(x_65, 0, x_64);
|
||||
x_66 = l___private_Lean_Data_Lsp_Diagnostics_0__Lean_Lsp_fromJsonPublishDiagnosticsParams____x40_Lean_Data_Lsp_Diagnostics___hyg_933_(x_65);
|
||||
x_66 = l___private_Lean_Data_Lsp_Diagnostics_0__Lean_Lsp_fromJsonPublishDiagnosticsParams____x40_Lean_Data_Lsp_Diagnostics___hyg_971_(x_65);
|
||||
lean_dec(x_65);
|
||||
if (lean_obj_tag(x_66) == 0)
|
||||
{
|
||||
|
|
@ -761,7 +761,7 @@ lean_inc(x_81);
|
|||
lean_dec(x_63);
|
||||
x_82 = lean_alloc_ctor(5, 1, 0);
|
||||
lean_ctor_set(x_82, 0, x_81);
|
||||
x_83 = l___private_Lean_Data_Lsp_Diagnostics_0__Lean_Lsp_fromJsonPublishDiagnosticsParams____x40_Lean_Data_Lsp_Diagnostics___hyg_933_(x_82);
|
||||
x_83 = l___private_Lean_Data_Lsp_Diagnostics_0__Lean_Lsp_fromJsonPublishDiagnosticsParams____x40_Lean_Data_Lsp_Diagnostics___hyg_971_(x_82);
|
||||
lean_dec(x_82);
|
||||
if (lean_obj_tag(x_83) == 0)
|
||||
{
|
||||
|
|
|
|||
182
stage0/stdlib/Lean/Elab/App.c
generated
182
stage0/stdlib/Lean/Elab/App.c
generated
|
|
@ -120,7 +120,6 @@ lean_object* l_List_append___rarg(lean_object*, lean_object*);
|
|||
lean_object* l___private_Lean_Elab_App_0__Lean_Elab_Term_ElabAppArgs_propagateExpectedType(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Elab_Term_throwInvalidNamedArg_match__1___rarg(lean_object*, lean_object*, lean_object*);
|
||||
uint8_t lean_name_eq(lean_object*, lean_object*);
|
||||
extern lean_object* l_Lean_MessageData_nil;
|
||||
lean_object* l_Lean_Elab_Term_elabApp_match__1___rarg(lean_object*, lean_object*);
|
||||
lean_object* l___private_Lean_Elab_App_0__Lean_Elab_Term_ElabAppArgs_anyNamedArgDependsOnCurrent___lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l___private_Lean_Elab_App_0__Lean_Elab_Term_elabAppLValsAux_loop_match__1___rarg(lean_object*, lean_object*);
|
||||
|
|
@ -403,7 +402,6 @@ lean_object* l___private_Lean_Elab_App_0__Lean_Elab_Term_ElabAppArgs_anyNamedArg
|
|||
lean_object* l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at___private_Lean_Elab_App_0__Lean_Elab_Term_ElabAppArgs_propagateExpectedType___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_throwError___at_Lean_Elab_Term_throwInvalidNamedArg___spec__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l___private_Lean_Elab_App_0__Lean_Elab_Term_addLValArg_match__1(lean_object*);
|
||||
lean_object* l_Std_PersistentArray_forIn___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_postponedToMessageData___spec__1(lean_object*, lean_object*);
|
||||
uint8_t l_Lean_Expr_isForall(lean_object*);
|
||||
lean_object* l_Lean_Meta_whnf(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l___private_Lean_Elab_App_0__Lean_Elab_Term_resolveLValLoop(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
|
|
@ -571,6 +569,7 @@ lean_object* l___private_Lean_Elab_App_0__Lean_Elab_Term_elabAppFn(lean_object*,
|
|||
uint8_t l_Lean_Expr_isOptParam(lean_object*);
|
||||
lean_object* l___private_Lean_Elab_App_0__Lean_Elab_Term_mergeFailures_match__1___rarg(lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l___private_Lean_Elab_App_0__Lean_Elab_Term_elabAppLValsAux_loop_match__3___rarg(lean_object*, lean_object*);
|
||||
lean_object* l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_postponedToMessageData(lean_object*);
|
||||
lean_object* l___private_Lean_Elab_App_0__Lean_Elab_Term_resolveLValAux___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Elab_throwUnsupportedSyntax___at___private_Lean_Elab_App_0__Lean_Elab_Term_elabAppFn___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l___private_Lean_Elab_App_0__Lean_Elab_Term_consumeImplicits___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
|
|
@ -29928,7 +29927,7 @@ x_27 = lean_unbox(x_26);
|
|||
lean_dec(x_26);
|
||||
if (x_27 == 0)
|
||||
{
|
||||
lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39; lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; uint8_t x_44;
|
||||
lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39; lean_object* x_40; lean_object* x_41; lean_object* x_42; uint8_t x_43;
|
||||
lean_dec(x_23);
|
||||
x_28 = lean_ctor_get(x_25, 1);
|
||||
lean_inc(x_28);
|
||||
|
|
@ -29939,146 +29938,145 @@ lean_inc(x_30);
|
|||
x_31 = lean_ctor_get(x_29, 1);
|
||||
lean_inc(x_31);
|
||||
lean_dec(x_29);
|
||||
x_32 = l_Lean_MessageData_nil;
|
||||
x_33 = l_Std_PersistentArray_forIn___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_postponedToMessageData___spec__1(x_30, x_32);
|
||||
x_32 = l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_postponedToMessageData(x_30);
|
||||
lean_dec(x_30);
|
||||
x_34 = lean_unsigned_to_nat(2u);
|
||||
x_35 = lean_alloc_ctor(8, 2, 0);
|
||||
lean_ctor_set(x_35, 0, x_34);
|
||||
lean_ctor_set(x_35, 1, x_33);
|
||||
x_36 = l_Lean_Meta_withoutPostponingUniverseConstraintsImp___rarg___closed__16;
|
||||
x_37 = lean_alloc_ctor(10, 2, 0);
|
||||
lean_ctor_set(x_37, 0, x_36);
|
||||
lean_ctor_set(x_37, 1, x_35);
|
||||
x_38 = l_Lean_KernelException_toMessageData___closed__15;
|
||||
x_39 = lean_alloc_ctor(10, 2, 0);
|
||||
lean_ctor_set(x_39, 0, x_37);
|
||||
lean_ctor_set(x_39, 1, x_38);
|
||||
x_40 = l_Lean_throwError___at_Lean_Meta_addDefaultInstance___spec__1(x_39, x_5, x_6, x_7, x_8, x_31);
|
||||
x_41 = lean_ctor_get(x_40, 0);
|
||||
x_33 = lean_unsigned_to_nat(2u);
|
||||
x_34 = lean_alloc_ctor(8, 2, 0);
|
||||
lean_ctor_set(x_34, 0, x_33);
|
||||
lean_ctor_set(x_34, 1, x_32);
|
||||
x_35 = l_Lean_Meta_withoutPostponingUniverseConstraintsImp___rarg___closed__16;
|
||||
x_36 = lean_alloc_ctor(10, 2, 0);
|
||||
lean_ctor_set(x_36, 0, x_35);
|
||||
lean_ctor_set(x_36, 1, x_34);
|
||||
x_37 = l_Lean_KernelException_toMessageData___closed__15;
|
||||
x_38 = lean_alloc_ctor(10, 2, 0);
|
||||
lean_ctor_set(x_38, 0, x_36);
|
||||
lean_ctor_set(x_38, 1, x_37);
|
||||
x_39 = l_Lean_throwError___at_Lean_Meta_addDefaultInstance___spec__1(x_38, x_5, x_6, x_7, x_8, x_31);
|
||||
x_40 = lean_ctor_get(x_39, 0);
|
||||
lean_inc(x_40);
|
||||
x_41 = lean_ctor_get(x_39, 1);
|
||||
lean_inc(x_41);
|
||||
x_42 = lean_ctor_get(x_40, 1);
|
||||
lean_inc(x_42);
|
||||
lean_dec(x_40);
|
||||
x_43 = l_Lean_Meta_setPostponed(x_20, x_5, x_6, x_7, x_8, x_42);
|
||||
lean_dec(x_39);
|
||||
x_42 = l_Lean_Meta_setPostponed(x_20, x_5, x_6, x_7, x_8, x_41);
|
||||
lean_dec(x_8);
|
||||
lean_dec(x_7);
|
||||
lean_dec(x_6);
|
||||
lean_dec(x_5);
|
||||
x_44 = !lean_is_exclusive(x_43);
|
||||
if (x_44 == 0)
|
||||
x_43 = !lean_is_exclusive(x_42);
|
||||
if (x_43 == 0)
|
||||
{
|
||||
lean_object* x_45;
|
||||
x_45 = lean_ctor_get(x_43, 0);
|
||||
lean_dec(x_45);
|
||||
lean_ctor_set_tag(x_43, 1);
|
||||
lean_ctor_set(x_43, 0, x_41);
|
||||
return x_43;
|
||||
lean_object* x_44;
|
||||
x_44 = lean_ctor_get(x_42, 0);
|
||||
lean_dec(x_44);
|
||||
lean_ctor_set_tag(x_42, 1);
|
||||
lean_ctor_set(x_42, 0, x_40);
|
||||
return x_42;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_46; lean_object* x_47;
|
||||
x_46 = lean_ctor_get(x_43, 1);
|
||||
lean_inc(x_46);
|
||||
lean_dec(x_43);
|
||||
x_47 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_47, 0, x_41);
|
||||
lean_ctor_set(x_47, 1, x_46);
|
||||
return x_47;
|
||||
lean_object* x_45; lean_object* x_46;
|
||||
x_45 = lean_ctor_get(x_42, 1);
|
||||
lean_inc(x_45);
|
||||
lean_dec(x_42);
|
||||
x_46 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_46, 0, x_40);
|
||||
lean_ctor_set(x_46, 1, x_45);
|
||||
return x_46;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_48; lean_object* x_49; lean_object* x_50; lean_object* x_51; lean_object* x_52;
|
||||
x_48 = lean_ctor_get(x_25, 1);
|
||||
lean_inc(x_48);
|
||||
lean_object* x_47; lean_object* x_48; lean_object* x_49; lean_object* x_50; lean_object* x_51;
|
||||
x_47 = lean_ctor_get(x_25, 1);
|
||||
lean_inc(x_47);
|
||||
lean_dec(x_25);
|
||||
x_49 = lean_box(0);
|
||||
x_50 = l_Lean_Meta_withoutPostponingUniverseConstraintsImp___rarg___lambda__1(x_20, x_23, x_49, x_5, x_6, x_7, x_8, x_48);
|
||||
x_48 = lean_box(0);
|
||||
x_49 = l_Lean_Meta_withoutPostponingUniverseConstraintsImp___rarg___lambda__1(x_20, x_23, x_48, x_5, x_6, x_7, x_8, x_47);
|
||||
lean_dec(x_8);
|
||||
lean_dec(x_7);
|
||||
lean_dec(x_6);
|
||||
lean_dec(x_5);
|
||||
x_51 = lean_ctor_get(x_50, 0);
|
||||
x_50 = lean_ctor_get(x_49, 0);
|
||||
lean_inc(x_50);
|
||||
x_51 = lean_ctor_get(x_49, 1);
|
||||
lean_inc(x_51);
|
||||
x_52 = lean_ctor_get(x_50, 1);
|
||||
lean_inc(x_52);
|
||||
lean_dec(x_50);
|
||||
x_14 = x_51;
|
||||
x_15 = x_52;
|
||||
lean_dec(x_49);
|
||||
x_14 = x_50;
|
||||
x_15 = x_51;
|
||||
goto block_18;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_53; lean_object* x_54; lean_object* x_55; uint8_t x_56;
|
||||
lean_object* x_52; lean_object* x_53; lean_object* x_54; uint8_t x_55;
|
||||
lean_dec(x_23);
|
||||
x_53 = lean_ctor_get(x_25, 0);
|
||||
x_52 = lean_ctor_get(x_25, 0);
|
||||
lean_inc(x_52);
|
||||
x_53 = lean_ctor_get(x_25, 1);
|
||||
lean_inc(x_53);
|
||||
x_54 = lean_ctor_get(x_25, 1);
|
||||
lean_inc(x_54);
|
||||
lean_dec(x_25);
|
||||
x_55 = l_Lean_Meta_setPostponed(x_20, x_5, x_6, x_7, x_8, x_54);
|
||||
x_54 = l_Lean_Meta_setPostponed(x_20, x_5, x_6, x_7, x_8, x_53);
|
||||
lean_dec(x_8);
|
||||
lean_dec(x_7);
|
||||
lean_dec(x_6);
|
||||
lean_dec(x_5);
|
||||
x_56 = !lean_is_exclusive(x_55);
|
||||
if (x_56 == 0)
|
||||
x_55 = !lean_is_exclusive(x_54);
|
||||
if (x_55 == 0)
|
||||
{
|
||||
lean_object* x_57;
|
||||
x_57 = lean_ctor_get(x_55, 0);
|
||||
lean_dec(x_57);
|
||||
lean_ctor_set_tag(x_55, 1);
|
||||
lean_ctor_set(x_55, 0, x_53);
|
||||
return x_55;
|
||||
lean_object* x_56;
|
||||
x_56 = lean_ctor_get(x_54, 0);
|
||||
lean_dec(x_56);
|
||||
lean_ctor_set_tag(x_54, 1);
|
||||
lean_ctor_set(x_54, 0, x_52);
|
||||
return x_54;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_58; lean_object* x_59;
|
||||
x_58 = lean_ctor_get(x_55, 1);
|
||||
lean_inc(x_58);
|
||||
lean_dec(x_55);
|
||||
x_59 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_59, 0, x_53);
|
||||
lean_ctor_set(x_59, 1, x_58);
|
||||
return x_59;
|
||||
lean_object* x_57; lean_object* x_58;
|
||||
x_57 = lean_ctor_get(x_54, 1);
|
||||
lean_inc(x_57);
|
||||
lean_dec(x_54);
|
||||
x_58 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_58, 0, x_52);
|
||||
lean_ctor_set(x_58, 1, x_57);
|
||||
return x_58;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_60; lean_object* x_61; lean_object* x_62; uint8_t x_63;
|
||||
x_60 = lean_ctor_get(x_22, 0);
|
||||
lean_object* x_59; lean_object* x_60; lean_object* x_61; uint8_t x_62;
|
||||
x_59 = lean_ctor_get(x_22, 0);
|
||||
lean_inc(x_59);
|
||||
x_60 = lean_ctor_get(x_22, 1);
|
||||
lean_inc(x_60);
|
||||
x_61 = lean_ctor_get(x_22, 1);
|
||||
lean_inc(x_61);
|
||||
lean_dec(x_22);
|
||||
x_62 = l_Lean_Meta_setPostponed(x_20, x_5, x_6, x_7, x_8, x_61);
|
||||
x_61 = l_Lean_Meta_setPostponed(x_20, x_5, x_6, x_7, x_8, x_60);
|
||||
lean_dec(x_8);
|
||||
lean_dec(x_7);
|
||||
lean_dec(x_6);
|
||||
lean_dec(x_5);
|
||||
x_63 = !lean_is_exclusive(x_62);
|
||||
if (x_63 == 0)
|
||||
x_62 = !lean_is_exclusive(x_61);
|
||||
if (x_62 == 0)
|
||||
{
|
||||
lean_object* x_64;
|
||||
x_64 = lean_ctor_get(x_62, 0);
|
||||
lean_dec(x_64);
|
||||
lean_ctor_set_tag(x_62, 1);
|
||||
lean_ctor_set(x_62, 0, x_60);
|
||||
return x_62;
|
||||
lean_object* x_63;
|
||||
x_63 = lean_ctor_get(x_61, 0);
|
||||
lean_dec(x_63);
|
||||
lean_ctor_set_tag(x_61, 1);
|
||||
lean_ctor_set(x_61, 0, x_59);
|
||||
return x_61;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_65; lean_object* x_66;
|
||||
x_65 = lean_ctor_get(x_62, 1);
|
||||
lean_inc(x_65);
|
||||
lean_dec(x_62);
|
||||
x_66 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_66, 0, x_60);
|
||||
lean_ctor_set(x_66, 1, x_65);
|
||||
return x_66;
|
||||
lean_object* x_64; lean_object* x_65;
|
||||
x_64 = lean_ctor_get(x_61, 1);
|
||||
lean_inc(x_64);
|
||||
lean_dec(x_61);
|
||||
x_65 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_65, 0, x_59);
|
||||
lean_ctor_set(x_65, 1, x_64);
|
||||
return x_65;
|
||||
}
|
||||
}
|
||||
block_18:
|
||||
|
|
|
|||
182
stage0/stdlib/Lean/Elab/Binders.c
generated
182
stage0/stdlib/Lean/Elab/Binders.c
generated
|
|
@ -115,7 +115,6 @@ lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Term_expandMatchAltsWhereDecl
|
|||
lean_object* l___regBuiltin_Lean_Elab_Term_elabArrow___closed__1;
|
||||
extern lean_object* l_myMacro____x40_Init_Notation___hyg_14470____closed__2;
|
||||
lean_object* l_Lean_Elab_Term_quoteAutoTactic___closed__4;
|
||||
extern lean_object* l_Lean_MessageData_nil;
|
||||
lean_object* l___private_Lean_Elab_Binders_0__Lean_Elab_Term_registerFailedToInferBinderTypeInfo___closed__2;
|
||||
lean_object* l___private_Lean_Elab_Binders_0__Lean_Elab_Term_ensureAtomicBinderName___closed__3;
|
||||
lean_object* l_Lean_Elab_Term_elabFunBinders___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
|
|
@ -306,7 +305,6 @@ lean_object* l_Lean_Elab_pushInfoTree___at_Lean_Elab_Term_addTermInfo___spec__1(
|
|||
lean_object* l_ReaderT_bind___at_Lean_Elab_Term_instMonadLogTermElabM___spec__2___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
extern lean_object* l_myMacro____x40_Init_Notation___hyg_13868____closed__12;
|
||||
extern lean_object* l_myMacro____x40_Init_Notation___hyg_15956____closed__11;
|
||||
lean_object* l_Std_PersistentArray_forIn___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_postponedToMessageData___spec__1(lean_object*, lean_object*);
|
||||
lean_object* l_Lean_mkFreshId___at___private_Lean_Elab_Binders_0__Lean_Elab_Term_FunBinders_elabFunBinderViews___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Elab_Term_expandWhereDeclsOpt___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_mkFVar(lean_object*);
|
||||
|
|
@ -452,6 +450,7 @@ extern lean_object* l_Lean_expandExplicitBindersAux_loop___closed__1;
|
|||
lean_object* l___private_Lean_Elab_Binders_0__Lean_Elab_Term_expandMatchAltsIntoMatchAux_match__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l___private_Lean_Elab_Binders_0__Lean_Elab_Term_elabBindersAux_loop___rarg(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_Term_quoteAutoTactic___spec__3___lambda__1___closed__7;
|
||||
lean_object* l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_postponedToMessageData(lean_object*);
|
||||
lean_object* l_Lean_Elab_Term_elabBinders___rarg(lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l___private_Lean_Elab_Binders_0__Lean_Elab_Term_elabBinderViews___rarg(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Elab_Term_mkLetIdDeclView(lean_object*);
|
||||
|
|
@ -5716,7 +5715,7 @@ x_25 = lean_unbox(x_24);
|
|||
lean_dec(x_24);
|
||||
if (x_25 == 0)
|
||||
{
|
||||
lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39; lean_object* x_40; lean_object* x_41; uint8_t x_42;
|
||||
lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39; lean_object* x_40; uint8_t x_41;
|
||||
lean_dec(x_20);
|
||||
x_26 = lean_ctor_get(x_23, 1);
|
||||
lean_inc(x_26);
|
||||
|
|
@ -5727,146 +5726,145 @@ lean_inc(x_28);
|
|||
x_29 = lean_ctor_get(x_27, 1);
|
||||
lean_inc(x_29);
|
||||
lean_dec(x_27);
|
||||
x_30 = l_Lean_MessageData_nil;
|
||||
x_31 = l_Std_PersistentArray_forIn___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_postponedToMessageData___spec__1(x_28, x_30);
|
||||
x_30 = l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_postponedToMessageData(x_28);
|
||||
lean_dec(x_28);
|
||||
x_32 = lean_unsigned_to_nat(2u);
|
||||
x_33 = lean_alloc_ctor(8, 2, 0);
|
||||
lean_ctor_set(x_33, 0, x_32);
|
||||
lean_ctor_set(x_33, 1, x_31);
|
||||
x_34 = l_Lean_Meta_withoutPostponingUniverseConstraintsImp___rarg___closed__16;
|
||||
x_35 = lean_alloc_ctor(10, 2, 0);
|
||||
lean_ctor_set(x_35, 0, x_34);
|
||||
lean_ctor_set(x_35, 1, x_33);
|
||||
x_36 = l_Lean_KernelException_toMessageData___closed__15;
|
||||
x_37 = lean_alloc_ctor(10, 2, 0);
|
||||
lean_ctor_set(x_37, 0, x_35);
|
||||
lean_ctor_set(x_37, 1, x_36);
|
||||
x_38 = l_Lean_throwError___at_Lean_Meta_addDefaultInstance___spec__1(x_37, x_6, x_7, x_8, x_9, x_29);
|
||||
x_39 = lean_ctor_get(x_38, 0);
|
||||
x_31 = lean_unsigned_to_nat(2u);
|
||||
x_32 = lean_alloc_ctor(8, 2, 0);
|
||||
lean_ctor_set(x_32, 0, x_31);
|
||||
lean_ctor_set(x_32, 1, x_30);
|
||||
x_33 = l_Lean_Meta_withoutPostponingUniverseConstraintsImp___rarg___closed__16;
|
||||
x_34 = lean_alloc_ctor(10, 2, 0);
|
||||
lean_ctor_set(x_34, 0, x_33);
|
||||
lean_ctor_set(x_34, 1, x_32);
|
||||
x_35 = l_Lean_KernelException_toMessageData___closed__15;
|
||||
x_36 = lean_alloc_ctor(10, 2, 0);
|
||||
lean_ctor_set(x_36, 0, x_34);
|
||||
lean_ctor_set(x_36, 1, x_35);
|
||||
x_37 = l_Lean_throwError___at_Lean_Meta_addDefaultInstance___spec__1(x_36, x_6, x_7, x_8, x_9, x_29);
|
||||
x_38 = lean_ctor_get(x_37, 0);
|
||||
lean_inc(x_38);
|
||||
x_39 = lean_ctor_get(x_37, 1);
|
||||
lean_inc(x_39);
|
||||
x_40 = lean_ctor_get(x_38, 1);
|
||||
lean_inc(x_40);
|
||||
lean_dec(x_38);
|
||||
x_41 = l_Lean_Meta_setPostponed(x_17, x_6, x_7, x_8, x_9, x_40);
|
||||
lean_dec(x_37);
|
||||
x_40 = l_Lean_Meta_setPostponed(x_17, x_6, x_7, x_8, x_9, x_39);
|
||||
lean_dec(x_9);
|
||||
lean_dec(x_8);
|
||||
lean_dec(x_7);
|
||||
lean_dec(x_6);
|
||||
x_42 = !lean_is_exclusive(x_41);
|
||||
if (x_42 == 0)
|
||||
x_41 = !lean_is_exclusive(x_40);
|
||||
if (x_41 == 0)
|
||||
{
|
||||
lean_object* x_43;
|
||||
x_43 = lean_ctor_get(x_41, 0);
|
||||
lean_dec(x_43);
|
||||
lean_ctor_set_tag(x_41, 1);
|
||||
lean_ctor_set(x_41, 0, x_39);
|
||||
return x_41;
|
||||
lean_object* x_42;
|
||||
x_42 = lean_ctor_get(x_40, 0);
|
||||
lean_dec(x_42);
|
||||
lean_ctor_set_tag(x_40, 1);
|
||||
lean_ctor_set(x_40, 0, x_38);
|
||||
return x_40;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_44; lean_object* x_45;
|
||||
x_44 = lean_ctor_get(x_41, 1);
|
||||
lean_inc(x_44);
|
||||
lean_dec(x_41);
|
||||
x_45 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_45, 0, x_39);
|
||||
lean_ctor_set(x_45, 1, x_44);
|
||||
return x_45;
|
||||
lean_object* x_43; lean_object* x_44;
|
||||
x_43 = lean_ctor_get(x_40, 1);
|
||||
lean_inc(x_43);
|
||||
lean_dec(x_40);
|
||||
x_44 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_44, 0, x_38);
|
||||
lean_ctor_set(x_44, 1, x_43);
|
||||
return x_44;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_46; lean_object* x_47; lean_object* x_48; lean_object* x_49; lean_object* x_50;
|
||||
x_46 = lean_ctor_get(x_23, 1);
|
||||
lean_inc(x_46);
|
||||
lean_object* x_45; lean_object* x_46; lean_object* x_47; lean_object* x_48; lean_object* x_49;
|
||||
x_45 = lean_ctor_get(x_23, 1);
|
||||
lean_inc(x_45);
|
||||
lean_dec(x_23);
|
||||
x_47 = lean_box(0);
|
||||
x_48 = l_Lean_Meta_withoutPostponingUniverseConstraintsImp___rarg___lambda__1(x_17, x_20, x_47, x_6, x_7, x_8, x_9, x_46);
|
||||
x_46 = lean_box(0);
|
||||
x_47 = l_Lean_Meta_withoutPostponingUniverseConstraintsImp___rarg___lambda__1(x_17, x_20, x_46, x_6, x_7, x_8, x_9, x_45);
|
||||
lean_dec(x_9);
|
||||
lean_dec(x_8);
|
||||
lean_dec(x_7);
|
||||
lean_dec(x_6);
|
||||
x_49 = lean_ctor_get(x_48, 0);
|
||||
x_48 = lean_ctor_get(x_47, 0);
|
||||
lean_inc(x_48);
|
||||
x_49 = lean_ctor_get(x_47, 1);
|
||||
lean_inc(x_49);
|
||||
x_50 = lean_ctor_get(x_48, 1);
|
||||
lean_inc(x_50);
|
||||
lean_dec(x_48);
|
||||
x_11 = x_49;
|
||||
x_12 = x_50;
|
||||
lean_dec(x_47);
|
||||
x_11 = x_48;
|
||||
x_12 = x_49;
|
||||
goto block_15;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_51; lean_object* x_52; lean_object* x_53; uint8_t x_54;
|
||||
lean_object* x_50; lean_object* x_51; lean_object* x_52; uint8_t x_53;
|
||||
lean_dec(x_20);
|
||||
x_51 = lean_ctor_get(x_23, 0);
|
||||
x_50 = lean_ctor_get(x_23, 0);
|
||||
lean_inc(x_50);
|
||||
x_51 = lean_ctor_get(x_23, 1);
|
||||
lean_inc(x_51);
|
||||
x_52 = lean_ctor_get(x_23, 1);
|
||||
lean_inc(x_52);
|
||||
lean_dec(x_23);
|
||||
x_53 = l_Lean_Meta_setPostponed(x_17, x_6, x_7, x_8, x_9, x_52);
|
||||
x_52 = l_Lean_Meta_setPostponed(x_17, x_6, x_7, x_8, x_9, x_51);
|
||||
lean_dec(x_9);
|
||||
lean_dec(x_8);
|
||||
lean_dec(x_7);
|
||||
lean_dec(x_6);
|
||||
x_54 = !lean_is_exclusive(x_53);
|
||||
if (x_54 == 0)
|
||||
x_53 = !lean_is_exclusive(x_52);
|
||||
if (x_53 == 0)
|
||||
{
|
||||
lean_object* x_55;
|
||||
x_55 = lean_ctor_get(x_53, 0);
|
||||
lean_dec(x_55);
|
||||
lean_ctor_set_tag(x_53, 1);
|
||||
lean_ctor_set(x_53, 0, x_51);
|
||||
return x_53;
|
||||
lean_object* x_54;
|
||||
x_54 = lean_ctor_get(x_52, 0);
|
||||
lean_dec(x_54);
|
||||
lean_ctor_set_tag(x_52, 1);
|
||||
lean_ctor_set(x_52, 0, x_50);
|
||||
return x_52;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_56; lean_object* x_57;
|
||||
x_56 = lean_ctor_get(x_53, 1);
|
||||
lean_inc(x_56);
|
||||
lean_dec(x_53);
|
||||
x_57 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_57, 0, x_51);
|
||||
lean_ctor_set(x_57, 1, x_56);
|
||||
return x_57;
|
||||
lean_object* x_55; lean_object* x_56;
|
||||
x_55 = lean_ctor_get(x_52, 1);
|
||||
lean_inc(x_55);
|
||||
lean_dec(x_52);
|
||||
x_56 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_56, 0, x_50);
|
||||
lean_ctor_set(x_56, 1, x_55);
|
||||
return x_56;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_58; lean_object* x_59; lean_object* x_60; uint8_t x_61;
|
||||
x_58 = lean_ctor_get(x_19, 0);
|
||||
lean_object* x_57; lean_object* x_58; lean_object* x_59; uint8_t x_60;
|
||||
x_57 = lean_ctor_get(x_19, 0);
|
||||
lean_inc(x_57);
|
||||
x_58 = lean_ctor_get(x_19, 1);
|
||||
lean_inc(x_58);
|
||||
x_59 = lean_ctor_get(x_19, 1);
|
||||
lean_inc(x_59);
|
||||
lean_dec(x_19);
|
||||
x_60 = l_Lean_Meta_setPostponed(x_17, x_6, x_7, x_8, x_9, x_59);
|
||||
x_59 = l_Lean_Meta_setPostponed(x_17, x_6, x_7, x_8, x_9, x_58);
|
||||
lean_dec(x_9);
|
||||
lean_dec(x_8);
|
||||
lean_dec(x_7);
|
||||
lean_dec(x_6);
|
||||
x_61 = !lean_is_exclusive(x_60);
|
||||
if (x_61 == 0)
|
||||
x_60 = !lean_is_exclusive(x_59);
|
||||
if (x_60 == 0)
|
||||
{
|
||||
lean_object* x_62;
|
||||
x_62 = lean_ctor_get(x_60, 0);
|
||||
lean_dec(x_62);
|
||||
lean_ctor_set_tag(x_60, 1);
|
||||
lean_ctor_set(x_60, 0, x_58);
|
||||
return x_60;
|
||||
lean_object* x_61;
|
||||
x_61 = lean_ctor_get(x_59, 0);
|
||||
lean_dec(x_61);
|
||||
lean_ctor_set_tag(x_59, 1);
|
||||
lean_ctor_set(x_59, 0, x_57);
|
||||
return x_59;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_63; lean_object* x_64;
|
||||
x_63 = lean_ctor_get(x_60, 1);
|
||||
lean_inc(x_63);
|
||||
lean_dec(x_60);
|
||||
x_64 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_64, 0, x_58);
|
||||
lean_ctor_set(x_64, 1, x_63);
|
||||
return x_64;
|
||||
lean_object* x_62; lean_object* x_63;
|
||||
x_62 = lean_ctor_get(x_59, 1);
|
||||
lean_inc(x_62);
|
||||
lean_dec(x_59);
|
||||
x_63 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_63, 0, x_57);
|
||||
lean_ctor_set(x_63, 1, x_62);
|
||||
return x_63;
|
||||
}
|
||||
}
|
||||
block_15:
|
||||
|
|
|
|||
506
stage0/stdlib/Lean/Elab/BuiltinNotation.c
generated
506
stage0/stdlib/Lean/Elab/BuiltinNotation.c
generated
|
|
@ -338,7 +338,6 @@ lean_object* l___regBuiltin_Lean_Elab_Term_elabSorry___closed__1;
|
|||
extern lean_object* l_Lean_Parser_Term_cdot___elambda__1___closed__2;
|
||||
lean_object* l___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_getPropToDecide___closed__4;
|
||||
lean_object* l_Lean_Elab_Term_elabSubst___lambda__5(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_addTrace___at___private_Lean_Elab_Term_0__Lean_Elab_Term_postponeElabTerm___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_mkNativeReflAuxDecl___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_elabParserMacroAux___closed__22;
|
||||
lean_object* l_Lean_addMacroScope(lean_object*, lean_object*, lean_object*);
|
||||
|
|
@ -380,7 +379,6 @@ lean_object* l___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_elabParserM
|
|||
lean_object* l___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_getPropToDecide___closed__1;
|
||||
lean_object* l_Lean_Elab_Term_elabStateRefT___lambda__2___closed__3;
|
||||
lean_object* l_Lean_Elab_Term_elabSorry___closed__1;
|
||||
lean_object* l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at___private_Lean_Elab_Term_0__Lean_Elab_Term_postponeElabTerm___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Elab_Term_elabNativeRefl_match__1(lean_object*);
|
||||
extern lean_object* l_myMacro____x40_Init_Notation___hyg_2191____closed__4;
|
||||
lean_object* l___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_elabTParserMacroAux___closed__7;
|
||||
|
|
@ -410,7 +408,6 @@ lean_object* l_Array_appendCore___rarg(lean_object*, lean_object*);
|
|||
lean_object* l_Lean_Elab_Term_elabAnonymousCtor_match__1___rarg(lean_object*, lean_object*, lean_object*);
|
||||
extern lean_object* l_Lean_Parser_Tactic_myMacro____x40_Init_Notation___hyg_17932____closed__2;
|
||||
lean_object* l_Lean_Elab_Term_elabStateRefT___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
extern lean_object* l_Lean_Meta_initFn____x40_Lean_Meta_Basic___hyg_556____closed__4;
|
||||
extern lean_object* l_myMacro____x40_Init_Data_ToString_Macro___hyg_23____closed__8;
|
||||
lean_object* l___private_Lean_Elab_SyntheticMVars_0__Lean_Elab_Term_withSynthesizeImp___rarg(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_elabParserMacroAux___closed__37;
|
||||
|
|
@ -444,7 +441,6 @@ lean_object* l___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_elabParserM
|
|||
lean_object* l_Lean_Elab_Term_expandUnreachable___rarg(lean_object*, lean_object*);
|
||||
lean_object* l_Lean_throwError___at_Lean_Elab_Term_quoteAutoTactic___spec__6(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Meta_mkArrow(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Elab_Term_elabDecide___rarg___closed__4;
|
||||
lean_object* l_Lean_Elab_Term_elabPanic___closed__8;
|
||||
extern lean_object* l_Lean_Meta_throwLetTypeMismatchMessage___rarg___closed__7;
|
||||
uint8_t l_Lean_Syntax_isNone(lean_object*);
|
||||
|
|
@ -512,7 +508,6 @@ lean_object* l_Lean_Elab_Term_elabAnonymousCtor___closed__7;
|
|||
extern lean_object* l_Lean_expandExplicitBindersAux_loop___closed__4;
|
||||
lean_object* l___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_elabParserMacroAux___closed__23;
|
||||
lean_object* l_unsafeCast(lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Elab_Term_elabDecide___rarg___closed__3;
|
||||
lean_object* l___regBuiltin_Lean_Elab_Term_expandSuffices___closed__1;
|
||||
lean_object* l_Lean_Elab_throwUnsupportedSyntax___at___private_Lean_Elab_Binders_0__Lean_Elab_Term_expandBinderModifier___spec__1___rarg(lean_object*);
|
||||
lean_object* l_Lean_Elab_Term_expandEmptyC(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
|
|
@ -6508,23 +6503,6 @@ x_2 = l_Lean_stringToMessageData(x_1);
|
|||
return x_2;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l_Lean_Elab_Term_elabDecide___rarg___closed__3() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1;
|
||||
x_1 = lean_mk_string("elabDecide: ");
|
||||
return x_1;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l_Lean_Elab_Term_elabDecide___rarg___closed__4() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2;
|
||||
x_1 = l_Lean_Elab_Term_elabDecide___rarg___closed__3;
|
||||
x_2 = l_Lean_stringToMessageData(x_1);
|
||||
return x_2;
|
||||
}
|
||||
}
|
||||
lean_object* l_Lean_Elab_Term_elabDecide___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) {
|
||||
_start:
|
||||
{
|
||||
|
|
@ -6538,165 +6516,124 @@ lean_inc(x_2);
|
|||
x_9 = l___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_getPropToDecide(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8);
|
||||
if (lean_obj_tag(x_9) == 0)
|
||||
{
|
||||
lean_object* x_10; lean_object* x_11; lean_object* x_12; uint8_t x_87; lean_object* x_88; lean_object* x_98; lean_object* x_99; lean_object* x_100; uint8_t x_101;
|
||||
lean_object* x_10; lean_object* x_11; lean_object* x_12;
|
||||
x_10 = lean_ctor_get(x_9, 0);
|
||||
lean_inc(x_10);
|
||||
x_11 = lean_ctor_get(x_9, 1);
|
||||
lean_inc(x_11);
|
||||
lean_dec(x_9);
|
||||
x_98 = lean_st_ref_get(x_7, x_11);
|
||||
x_99 = lean_ctor_get(x_98, 0);
|
||||
lean_inc(x_99);
|
||||
x_100 = lean_ctor_get(x_99, 3);
|
||||
lean_inc(x_100);
|
||||
lean_dec(x_99);
|
||||
x_101 = lean_ctor_get_uint8(x_100, sizeof(void*)*1);
|
||||
lean_dec(x_100);
|
||||
if (x_101 == 0)
|
||||
{
|
||||
lean_object* x_102; uint8_t x_103;
|
||||
x_102 = lean_ctor_get(x_98, 1);
|
||||
lean_inc(x_102);
|
||||
lean_dec(x_98);
|
||||
x_103 = 0;
|
||||
x_87 = x_103;
|
||||
x_88 = x_102;
|
||||
goto block_97;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_104; lean_object* x_105; lean_object* x_106; lean_object* x_107; lean_object* x_108; uint8_t x_109;
|
||||
x_104 = lean_ctor_get(x_98, 1);
|
||||
lean_inc(x_104);
|
||||
lean_dec(x_98);
|
||||
x_105 = l_Lean_Meta_initFn____x40_Lean_Meta_Basic___hyg_556____closed__4;
|
||||
x_106 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at___private_Lean_Elab_Term_0__Lean_Elab_Term_postponeElabTerm___spec__2(x_105, x_2, x_3, x_4, x_5, x_6, x_7, x_104);
|
||||
x_107 = lean_ctor_get(x_106, 0);
|
||||
lean_inc(x_107);
|
||||
x_108 = lean_ctor_get(x_106, 1);
|
||||
lean_inc(x_108);
|
||||
lean_dec(x_106);
|
||||
x_109 = lean_unbox(x_107);
|
||||
lean_dec(x_107);
|
||||
x_87 = x_109;
|
||||
x_88 = x_108;
|
||||
goto block_97;
|
||||
}
|
||||
block_86:
|
||||
{
|
||||
lean_object* x_13;
|
||||
lean_inc(x_7);
|
||||
lean_inc(x_6);
|
||||
lean_inc(x_5);
|
||||
lean_inc(x_4);
|
||||
lean_inc(x_10);
|
||||
x_13 = l_Lean_Meta_mkDecide(x_10, x_4, x_5, x_6, x_7, x_12);
|
||||
if (lean_obj_tag(x_13) == 0)
|
||||
x_12 = l_Lean_Meta_mkDecide(x_10, x_4, x_5, x_6, x_7, x_11);
|
||||
if (lean_obj_tag(x_12) == 0)
|
||||
{
|
||||
lean_object* x_14; lean_object* x_15; lean_object* x_16;
|
||||
x_14 = lean_ctor_get(x_13, 0);
|
||||
lean_object* x_13; lean_object* x_14; lean_object* x_15;
|
||||
x_13 = lean_ctor_get(x_12, 0);
|
||||
lean_inc(x_13);
|
||||
x_14 = lean_ctor_get(x_12, 1);
|
||||
lean_inc(x_14);
|
||||
x_15 = lean_ctor_get(x_13, 1);
|
||||
lean_inc(x_15);
|
||||
lean_dec(x_13);
|
||||
lean_dec(x_12);
|
||||
lean_inc(x_7);
|
||||
lean_inc(x_6);
|
||||
lean_inc(x_5);
|
||||
lean_inc(x_4);
|
||||
x_16 = l_Lean_Meta_instantiateMVars(x_14, x_4, x_5, x_6, x_7, x_15);
|
||||
if (lean_obj_tag(x_16) == 0)
|
||||
x_15 = l_Lean_Meta_instantiateMVars(x_13, x_4, x_5, x_6, x_7, x_14);
|
||||
if (lean_obj_tag(x_15) == 0)
|
||||
{
|
||||
lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; uint8_t x_22;
|
||||
x_17 = lean_ctor_get(x_4, 0);
|
||||
lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; uint8_t x_21;
|
||||
x_16 = lean_ctor_get(x_4, 0);
|
||||
lean_inc(x_16);
|
||||
x_17 = lean_ctor_get(x_15, 0);
|
||||
lean_inc(x_17);
|
||||
x_18 = lean_ctor_get(x_16, 0);
|
||||
x_18 = lean_ctor_get(x_15, 1);
|
||||
lean_inc(x_18);
|
||||
x_19 = lean_ctor_get(x_16, 1);
|
||||
lean_dec(x_15);
|
||||
x_19 = lean_ctor_get(x_4, 1);
|
||||
lean_inc(x_19);
|
||||
lean_dec(x_16);
|
||||
x_20 = lean_ctor_get(x_4, 1);
|
||||
x_20 = lean_ctor_get(x_4, 2);
|
||||
lean_inc(x_20);
|
||||
x_21 = lean_ctor_get(x_4, 2);
|
||||
lean_inc(x_21);
|
||||
x_22 = !lean_is_exclusive(x_17);
|
||||
if (x_22 == 0)
|
||||
x_21 = !lean_is_exclusive(x_16);
|
||||
if (x_21 == 0)
|
||||
{
|
||||
uint8_t x_23; lean_object* x_24; lean_object* x_25;
|
||||
x_23 = 1;
|
||||
lean_ctor_set_uint8(x_17, 5, x_23);
|
||||
x_24 = lean_alloc_ctor(0, 3, 0);
|
||||
lean_ctor_set(x_24, 0, x_17);
|
||||
lean_ctor_set(x_24, 1, x_20);
|
||||
lean_ctor_set(x_24, 2, x_21);
|
||||
uint8_t x_22; lean_object* x_23; lean_object* x_24;
|
||||
x_22 = 1;
|
||||
lean_ctor_set_uint8(x_16, 5, x_22);
|
||||
x_23 = lean_alloc_ctor(0, 3, 0);
|
||||
lean_ctor_set(x_23, 0, x_16);
|
||||
lean_ctor_set(x_23, 1, x_19);
|
||||
lean_ctor_set(x_23, 2, x_20);
|
||||
lean_inc(x_7);
|
||||
lean_inc(x_6);
|
||||
lean_inc(x_5);
|
||||
lean_inc(x_18);
|
||||
x_25 = l_Lean_Meta_whnf(x_18, x_24, x_5, x_6, x_7, x_19);
|
||||
if (lean_obj_tag(x_25) == 0)
|
||||
lean_inc(x_17);
|
||||
x_24 = l_Lean_Meta_whnf(x_17, x_23, x_5, x_6, x_7, x_18);
|
||||
if (lean_obj_tag(x_24) == 0)
|
||||
{
|
||||
lean_object* x_26; lean_object* x_27; lean_object* x_28; uint8_t x_29;
|
||||
x_26 = lean_ctor_get(x_25, 0);
|
||||
lean_object* x_25; lean_object* x_26; lean_object* x_27; uint8_t x_28;
|
||||
x_25 = lean_ctor_get(x_24, 0);
|
||||
lean_inc(x_25);
|
||||
x_26 = lean_ctor_get(x_24, 1);
|
||||
lean_inc(x_26);
|
||||
x_27 = lean_ctor_get(x_25, 1);
|
||||
lean_inc(x_27);
|
||||
lean_dec(x_24);
|
||||
x_27 = l_Lean_instQuoteBool___closed__5;
|
||||
x_28 = l_Lean_Expr_isConstOf(x_25, x_27);
|
||||
lean_dec(x_25);
|
||||
x_28 = l_Lean_instQuoteBool___closed__5;
|
||||
x_29 = l_Lean_Expr_isConstOf(x_26, x_28);
|
||||
lean_dec(x_26);
|
||||
if (x_29 == 0)
|
||||
if (x_28 == 0)
|
||||
{
|
||||
lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35; uint8_t x_36;
|
||||
lean_dec(x_18);
|
||||
x_30 = l_Lean_indentExpr(x_10);
|
||||
x_31 = l_Lean_Elab_Term_elabDecide___rarg___closed__2;
|
||||
x_32 = lean_alloc_ctor(10, 2, 0);
|
||||
lean_ctor_set(x_32, 0, x_31);
|
||||
lean_ctor_set(x_32, 1, x_30);
|
||||
x_33 = l_Lean_KernelException_toMessageData___closed__15;
|
||||
x_34 = lean_alloc_ctor(10, 2, 0);
|
||||
lean_ctor_set(x_34, 0, x_32);
|
||||
lean_ctor_set(x_34, 1, x_33);
|
||||
x_35 = l_Lean_throwError___at___private_Lean_Elab_Term_0__Lean_Elab_Term_applyAttributesCore___spec__1(x_34, x_2, x_3, x_4, x_5, x_6, x_7, x_27);
|
||||
lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34; uint8_t x_35;
|
||||
lean_dec(x_17);
|
||||
x_29 = l_Lean_indentExpr(x_10);
|
||||
x_30 = l_Lean_Elab_Term_elabDecide___rarg___closed__2;
|
||||
x_31 = lean_alloc_ctor(10, 2, 0);
|
||||
lean_ctor_set(x_31, 0, x_30);
|
||||
lean_ctor_set(x_31, 1, x_29);
|
||||
x_32 = l_Lean_KernelException_toMessageData___closed__15;
|
||||
x_33 = lean_alloc_ctor(10, 2, 0);
|
||||
lean_ctor_set(x_33, 0, x_31);
|
||||
lean_ctor_set(x_33, 1, x_32);
|
||||
x_34 = l_Lean_throwError___at___private_Lean_Elab_Term_0__Lean_Elab_Term_applyAttributesCore___spec__1(x_33, x_2, x_3, x_4, x_5, x_6, x_7, x_26);
|
||||
lean_dec(x_7);
|
||||
lean_dec(x_6);
|
||||
lean_dec(x_5);
|
||||
lean_dec(x_4);
|
||||
lean_dec(x_3);
|
||||
x_36 = !lean_is_exclusive(x_35);
|
||||
if (x_36 == 0)
|
||||
x_35 = !lean_is_exclusive(x_34);
|
||||
if (x_35 == 0)
|
||||
{
|
||||
return x_35;
|
||||
return x_34;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_37; lean_object* x_38; lean_object* x_39;
|
||||
x_37 = lean_ctor_get(x_35, 0);
|
||||
x_38 = lean_ctor_get(x_35, 1);
|
||||
lean_inc(x_38);
|
||||
lean_object* x_36; lean_object* x_37; lean_object* x_38;
|
||||
x_36 = lean_ctor_get(x_34, 0);
|
||||
x_37 = lean_ctor_get(x_34, 1);
|
||||
lean_inc(x_37);
|
||||
lean_dec(x_35);
|
||||
x_39 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_39, 0, x_37);
|
||||
lean_ctor_set(x_39, 1, x_38);
|
||||
return x_39;
|
||||
lean_inc(x_36);
|
||||
lean_dec(x_34);
|
||||
x_38 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_38, 0, x_36);
|
||||
lean_ctor_set(x_38, 1, x_37);
|
||||
return x_38;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_40; lean_object* x_41;
|
||||
x_40 = lean_box(0);
|
||||
x_41 = l_Lean_Elab_Term_elabDecide___rarg___lambda__1(x_18, x_10, x_40, x_2, x_3, x_4, x_5, x_6, x_7, x_27);
|
||||
lean_object* x_39; lean_object* x_40;
|
||||
x_39 = lean_box(0);
|
||||
x_40 = l_Lean_Elab_Term_elabDecide___rarg___lambda__1(x_17, x_10, x_39, x_2, x_3, x_4, x_5, x_6, x_7, x_26);
|
||||
lean_dec(x_3);
|
||||
lean_dec(x_2);
|
||||
lean_dec(x_18);
|
||||
return x_41;
|
||||
lean_dec(x_17);
|
||||
return x_40;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
uint8_t x_42;
|
||||
lean_dec(x_18);
|
||||
uint8_t x_41;
|
||||
lean_dec(x_17);
|
||||
lean_dec(x_10);
|
||||
lean_dec(x_7);
|
||||
lean_dec(x_6);
|
||||
|
|
@ -6704,124 +6641,124 @@ lean_dec(x_5);
|
|||
lean_dec(x_4);
|
||||
lean_dec(x_3);
|
||||
lean_dec(x_2);
|
||||
x_42 = !lean_is_exclusive(x_25);
|
||||
if (x_42 == 0)
|
||||
x_41 = !lean_is_exclusive(x_24);
|
||||
if (x_41 == 0)
|
||||
{
|
||||
return x_25;
|
||||
return x_24;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_43; lean_object* x_44; lean_object* x_45;
|
||||
x_43 = lean_ctor_get(x_25, 0);
|
||||
x_44 = lean_ctor_get(x_25, 1);
|
||||
lean_inc(x_44);
|
||||
lean_object* x_42; lean_object* x_43; lean_object* x_44;
|
||||
x_42 = lean_ctor_get(x_24, 0);
|
||||
x_43 = lean_ctor_get(x_24, 1);
|
||||
lean_inc(x_43);
|
||||
lean_dec(x_25);
|
||||
x_45 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_45, 0, x_43);
|
||||
lean_ctor_set(x_45, 1, x_44);
|
||||
return x_45;
|
||||
lean_inc(x_42);
|
||||
lean_dec(x_24);
|
||||
x_44 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_44, 0, x_42);
|
||||
lean_ctor_set(x_44, 1, x_43);
|
||||
return x_44;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
uint8_t x_46; uint8_t x_47; uint8_t x_48; uint8_t x_49; uint8_t x_50; uint8_t x_51; uint8_t x_52; uint8_t x_53; uint8_t x_54; lean_object* x_55; lean_object* x_56; lean_object* x_57;
|
||||
x_46 = lean_ctor_get_uint8(x_17, 0);
|
||||
x_47 = lean_ctor_get_uint8(x_17, 1);
|
||||
x_48 = lean_ctor_get_uint8(x_17, 2);
|
||||
x_49 = lean_ctor_get_uint8(x_17, 3);
|
||||
x_50 = lean_ctor_get_uint8(x_17, 4);
|
||||
x_51 = lean_ctor_get_uint8(x_17, 6);
|
||||
x_52 = lean_ctor_get_uint8(x_17, 7);
|
||||
x_53 = lean_ctor_get_uint8(x_17, 8);
|
||||
lean_dec(x_17);
|
||||
x_54 = 1;
|
||||
x_55 = lean_alloc_ctor(0, 0, 9);
|
||||
lean_ctor_set_uint8(x_55, 0, x_46);
|
||||
lean_ctor_set_uint8(x_55, 1, x_47);
|
||||
lean_ctor_set_uint8(x_55, 2, x_48);
|
||||
lean_ctor_set_uint8(x_55, 3, x_49);
|
||||
lean_ctor_set_uint8(x_55, 4, x_50);
|
||||
lean_ctor_set_uint8(x_55, 5, x_54);
|
||||
lean_ctor_set_uint8(x_55, 6, x_51);
|
||||
lean_ctor_set_uint8(x_55, 7, x_52);
|
||||
lean_ctor_set_uint8(x_55, 8, x_53);
|
||||
x_56 = lean_alloc_ctor(0, 3, 0);
|
||||
lean_ctor_set(x_56, 0, x_55);
|
||||
lean_ctor_set(x_56, 1, x_20);
|
||||
lean_ctor_set(x_56, 2, x_21);
|
||||
uint8_t x_45; uint8_t x_46; uint8_t x_47; uint8_t x_48; uint8_t x_49; uint8_t x_50; uint8_t x_51; uint8_t x_52; uint8_t x_53; lean_object* x_54; lean_object* x_55; lean_object* x_56;
|
||||
x_45 = lean_ctor_get_uint8(x_16, 0);
|
||||
x_46 = lean_ctor_get_uint8(x_16, 1);
|
||||
x_47 = lean_ctor_get_uint8(x_16, 2);
|
||||
x_48 = lean_ctor_get_uint8(x_16, 3);
|
||||
x_49 = lean_ctor_get_uint8(x_16, 4);
|
||||
x_50 = lean_ctor_get_uint8(x_16, 6);
|
||||
x_51 = lean_ctor_get_uint8(x_16, 7);
|
||||
x_52 = lean_ctor_get_uint8(x_16, 8);
|
||||
lean_dec(x_16);
|
||||
x_53 = 1;
|
||||
x_54 = lean_alloc_ctor(0, 0, 9);
|
||||
lean_ctor_set_uint8(x_54, 0, x_45);
|
||||
lean_ctor_set_uint8(x_54, 1, x_46);
|
||||
lean_ctor_set_uint8(x_54, 2, x_47);
|
||||
lean_ctor_set_uint8(x_54, 3, x_48);
|
||||
lean_ctor_set_uint8(x_54, 4, x_49);
|
||||
lean_ctor_set_uint8(x_54, 5, x_53);
|
||||
lean_ctor_set_uint8(x_54, 6, x_50);
|
||||
lean_ctor_set_uint8(x_54, 7, x_51);
|
||||
lean_ctor_set_uint8(x_54, 8, x_52);
|
||||
x_55 = lean_alloc_ctor(0, 3, 0);
|
||||
lean_ctor_set(x_55, 0, x_54);
|
||||
lean_ctor_set(x_55, 1, x_19);
|
||||
lean_ctor_set(x_55, 2, x_20);
|
||||
lean_inc(x_7);
|
||||
lean_inc(x_6);
|
||||
lean_inc(x_5);
|
||||
lean_inc(x_18);
|
||||
x_57 = l_Lean_Meta_whnf(x_18, x_56, x_5, x_6, x_7, x_19);
|
||||
if (lean_obj_tag(x_57) == 0)
|
||||
lean_inc(x_17);
|
||||
x_56 = l_Lean_Meta_whnf(x_17, x_55, x_5, x_6, x_7, x_18);
|
||||
if (lean_obj_tag(x_56) == 0)
|
||||
{
|
||||
lean_object* x_58; lean_object* x_59; lean_object* x_60; uint8_t x_61;
|
||||
x_58 = lean_ctor_get(x_57, 0);
|
||||
lean_object* x_57; lean_object* x_58; lean_object* x_59; uint8_t x_60;
|
||||
x_57 = lean_ctor_get(x_56, 0);
|
||||
lean_inc(x_57);
|
||||
x_58 = lean_ctor_get(x_56, 1);
|
||||
lean_inc(x_58);
|
||||
x_59 = lean_ctor_get(x_57, 1);
|
||||
lean_inc(x_59);
|
||||
lean_dec(x_56);
|
||||
x_59 = l_Lean_instQuoteBool___closed__5;
|
||||
x_60 = l_Lean_Expr_isConstOf(x_57, x_59);
|
||||
lean_dec(x_57);
|
||||
x_60 = l_Lean_instQuoteBool___closed__5;
|
||||
x_61 = l_Lean_Expr_isConstOf(x_58, x_60);
|
||||
lean_dec(x_58);
|
||||
if (x_61 == 0)
|
||||
if (x_60 == 0)
|
||||
{
|
||||
lean_object* x_62; lean_object* x_63; lean_object* x_64; lean_object* x_65; lean_object* x_66; lean_object* x_67; lean_object* x_68; lean_object* x_69; lean_object* x_70; lean_object* x_71;
|
||||
lean_dec(x_18);
|
||||
x_62 = l_Lean_indentExpr(x_10);
|
||||
x_63 = l_Lean_Elab_Term_elabDecide___rarg___closed__2;
|
||||
x_64 = lean_alloc_ctor(10, 2, 0);
|
||||
lean_ctor_set(x_64, 0, x_63);
|
||||
lean_ctor_set(x_64, 1, x_62);
|
||||
x_65 = l_Lean_KernelException_toMessageData___closed__15;
|
||||
x_66 = lean_alloc_ctor(10, 2, 0);
|
||||
lean_ctor_set(x_66, 0, x_64);
|
||||
lean_ctor_set(x_66, 1, x_65);
|
||||
x_67 = l_Lean_throwError___at___private_Lean_Elab_Term_0__Lean_Elab_Term_applyAttributesCore___spec__1(x_66, x_2, x_3, x_4, x_5, x_6, x_7, x_59);
|
||||
lean_object* x_61; lean_object* x_62; lean_object* x_63; lean_object* x_64; lean_object* x_65; lean_object* x_66; lean_object* x_67; lean_object* x_68; lean_object* x_69; lean_object* x_70;
|
||||
lean_dec(x_17);
|
||||
x_61 = l_Lean_indentExpr(x_10);
|
||||
x_62 = l_Lean_Elab_Term_elabDecide___rarg___closed__2;
|
||||
x_63 = lean_alloc_ctor(10, 2, 0);
|
||||
lean_ctor_set(x_63, 0, x_62);
|
||||
lean_ctor_set(x_63, 1, x_61);
|
||||
x_64 = l_Lean_KernelException_toMessageData___closed__15;
|
||||
x_65 = lean_alloc_ctor(10, 2, 0);
|
||||
lean_ctor_set(x_65, 0, x_63);
|
||||
lean_ctor_set(x_65, 1, x_64);
|
||||
x_66 = l_Lean_throwError___at___private_Lean_Elab_Term_0__Lean_Elab_Term_applyAttributesCore___spec__1(x_65, x_2, x_3, x_4, x_5, x_6, x_7, x_58);
|
||||
lean_dec(x_7);
|
||||
lean_dec(x_6);
|
||||
lean_dec(x_5);
|
||||
lean_dec(x_4);
|
||||
lean_dec(x_3);
|
||||
x_68 = lean_ctor_get(x_67, 0);
|
||||
x_67 = lean_ctor_get(x_66, 0);
|
||||
lean_inc(x_67);
|
||||
x_68 = lean_ctor_get(x_66, 1);
|
||||
lean_inc(x_68);
|
||||
x_69 = lean_ctor_get(x_67, 1);
|
||||
lean_inc(x_69);
|
||||
if (lean_is_exclusive(x_67)) {
|
||||
lean_ctor_release(x_67, 0);
|
||||
lean_ctor_release(x_67, 1);
|
||||
x_70 = x_67;
|
||||
if (lean_is_exclusive(x_66)) {
|
||||
lean_ctor_release(x_66, 0);
|
||||
lean_ctor_release(x_66, 1);
|
||||
x_69 = x_66;
|
||||
} else {
|
||||
lean_dec_ref(x_67);
|
||||
x_70 = lean_box(0);
|
||||
lean_dec_ref(x_66);
|
||||
x_69 = lean_box(0);
|
||||
}
|
||||
if (lean_is_scalar(x_70)) {
|
||||
x_71 = lean_alloc_ctor(1, 2, 0);
|
||||
if (lean_is_scalar(x_69)) {
|
||||
x_70 = lean_alloc_ctor(1, 2, 0);
|
||||
} else {
|
||||
x_71 = x_70;
|
||||
x_70 = x_69;
|
||||
}
|
||||
lean_ctor_set(x_71, 0, x_68);
|
||||
lean_ctor_set(x_71, 1, x_69);
|
||||
return x_71;
|
||||
lean_ctor_set(x_70, 0, x_67);
|
||||
lean_ctor_set(x_70, 1, x_68);
|
||||
return x_70;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_72; lean_object* x_73;
|
||||
x_72 = lean_box(0);
|
||||
x_73 = l_Lean_Elab_Term_elabDecide___rarg___lambda__1(x_18, x_10, x_72, x_2, x_3, x_4, x_5, x_6, x_7, x_59);
|
||||
lean_object* x_71; lean_object* x_72;
|
||||
x_71 = lean_box(0);
|
||||
x_72 = l_Lean_Elab_Term_elabDecide___rarg___lambda__1(x_17, x_10, x_71, x_2, x_3, x_4, x_5, x_6, x_7, x_58);
|
||||
lean_dec(x_3);
|
||||
lean_dec(x_2);
|
||||
lean_dec(x_18);
|
||||
return x_73;
|
||||
lean_dec(x_17);
|
||||
return x_72;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_74; lean_object* x_75; lean_object* x_76; lean_object* x_77;
|
||||
lean_dec(x_18);
|
||||
lean_object* x_73; lean_object* x_74; lean_object* x_75; lean_object* x_76;
|
||||
lean_dec(x_17);
|
||||
lean_dec(x_10);
|
||||
lean_dec(x_7);
|
||||
lean_dec(x_6);
|
||||
|
|
@ -6829,32 +6766,32 @@ lean_dec(x_5);
|
|||
lean_dec(x_4);
|
||||
lean_dec(x_3);
|
||||
lean_dec(x_2);
|
||||
x_74 = lean_ctor_get(x_57, 0);
|
||||
x_73 = lean_ctor_get(x_56, 0);
|
||||
lean_inc(x_73);
|
||||
x_74 = lean_ctor_get(x_56, 1);
|
||||
lean_inc(x_74);
|
||||
x_75 = lean_ctor_get(x_57, 1);
|
||||
lean_inc(x_75);
|
||||
if (lean_is_exclusive(x_57)) {
|
||||
lean_ctor_release(x_57, 0);
|
||||
lean_ctor_release(x_57, 1);
|
||||
x_76 = x_57;
|
||||
if (lean_is_exclusive(x_56)) {
|
||||
lean_ctor_release(x_56, 0);
|
||||
lean_ctor_release(x_56, 1);
|
||||
x_75 = x_56;
|
||||
} else {
|
||||
lean_dec_ref(x_57);
|
||||
x_76 = lean_box(0);
|
||||
lean_dec_ref(x_56);
|
||||
x_75 = lean_box(0);
|
||||
}
|
||||
if (lean_is_scalar(x_76)) {
|
||||
x_77 = lean_alloc_ctor(1, 2, 0);
|
||||
if (lean_is_scalar(x_75)) {
|
||||
x_76 = lean_alloc_ctor(1, 2, 0);
|
||||
} else {
|
||||
x_77 = x_76;
|
||||
x_76 = x_75;
|
||||
}
|
||||
lean_ctor_set(x_77, 0, x_74);
|
||||
lean_ctor_set(x_77, 1, x_75);
|
||||
return x_77;
|
||||
lean_ctor_set(x_76, 0, x_73);
|
||||
lean_ctor_set(x_76, 1, x_74);
|
||||
return x_76;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
uint8_t x_78;
|
||||
uint8_t x_77;
|
||||
lean_dec(x_10);
|
||||
lean_dec(x_7);
|
||||
lean_dec(x_6);
|
||||
|
|
@ -6862,29 +6799,29 @@ lean_dec(x_5);
|
|||
lean_dec(x_4);
|
||||
lean_dec(x_3);
|
||||
lean_dec(x_2);
|
||||
x_78 = !lean_is_exclusive(x_16);
|
||||
if (x_78 == 0)
|
||||
x_77 = !lean_is_exclusive(x_15);
|
||||
if (x_77 == 0)
|
||||
{
|
||||
return x_16;
|
||||
return x_15;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_79; lean_object* x_80; lean_object* x_81;
|
||||
x_79 = lean_ctor_get(x_16, 0);
|
||||
x_80 = lean_ctor_get(x_16, 1);
|
||||
lean_inc(x_80);
|
||||
lean_object* x_78; lean_object* x_79; lean_object* x_80;
|
||||
x_78 = lean_ctor_get(x_15, 0);
|
||||
x_79 = lean_ctor_get(x_15, 1);
|
||||
lean_inc(x_79);
|
||||
lean_dec(x_16);
|
||||
x_81 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_81, 0, x_79);
|
||||
lean_ctor_set(x_81, 1, x_80);
|
||||
return x_81;
|
||||
lean_inc(x_78);
|
||||
lean_dec(x_15);
|
||||
x_80 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_80, 0, x_78);
|
||||
lean_ctor_set(x_80, 1, x_79);
|
||||
return x_80;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
uint8_t x_82;
|
||||
uint8_t x_81;
|
||||
lean_dec(x_10);
|
||||
lean_dec(x_7);
|
||||
lean_dec(x_6);
|
||||
|
|
@ -6892,83 +6829,52 @@ lean_dec(x_5);
|
|||
lean_dec(x_4);
|
||||
lean_dec(x_3);
|
||||
lean_dec(x_2);
|
||||
x_82 = !lean_is_exclusive(x_13);
|
||||
if (x_82 == 0)
|
||||
x_81 = !lean_is_exclusive(x_12);
|
||||
if (x_81 == 0)
|
||||
{
|
||||
return x_13;
|
||||
return x_12;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_83; lean_object* x_84; lean_object* x_85;
|
||||
x_83 = lean_ctor_get(x_13, 0);
|
||||
x_84 = lean_ctor_get(x_13, 1);
|
||||
lean_inc(x_84);
|
||||
lean_object* x_82; lean_object* x_83; lean_object* x_84;
|
||||
x_82 = lean_ctor_get(x_12, 0);
|
||||
x_83 = lean_ctor_get(x_12, 1);
|
||||
lean_inc(x_83);
|
||||
lean_dec(x_13);
|
||||
x_85 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_85, 0, x_83);
|
||||
lean_ctor_set(x_85, 1, x_84);
|
||||
return x_85;
|
||||
}
|
||||
}
|
||||
}
|
||||
block_97:
|
||||
{
|
||||
if (x_87 == 0)
|
||||
{
|
||||
x_12 = x_88;
|
||||
goto block_86;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_89; lean_object* x_90; lean_object* x_91; lean_object* x_92; lean_object* x_93; lean_object* x_94; lean_object* x_95; lean_object* x_96;
|
||||
lean_inc(x_10);
|
||||
x_89 = lean_alloc_ctor(2, 1, 0);
|
||||
lean_ctor_set(x_89, 0, x_10);
|
||||
x_90 = l_Lean_Elab_Term_elabDecide___rarg___closed__4;
|
||||
x_91 = lean_alloc_ctor(10, 2, 0);
|
||||
lean_ctor_set(x_91, 0, x_90);
|
||||
lean_ctor_set(x_91, 1, x_89);
|
||||
x_92 = l_Lean_KernelException_toMessageData___closed__15;
|
||||
x_93 = lean_alloc_ctor(10, 2, 0);
|
||||
lean_ctor_set(x_93, 0, x_91);
|
||||
lean_ctor_set(x_93, 1, x_92);
|
||||
x_94 = l_Lean_Meta_initFn____x40_Lean_Meta_Basic___hyg_556____closed__4;
|
||||
x_95 = l_Lean_addTrace___at___private_Lean_Elab_Term_0__Lean_Elab_Term_postponeElabTerm___spec__1(x_94, x_93, x_2, x_3, x_4, x_5, x_6, x_7, x_88);
|
||||
x_96 = lean_ctor_get(x_95, 1);
|
||||
lean_inc(x_96);
|
||||
lean_dec(x_95);
|
||||
x_12 = x_96;
|
||||
goto block_86;
|
||||
lean_inc(x_82);
|
||||
lean_dec(x_12);
|
||||
x_84 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_84, 0, x_82);
|
||||
lean_ctor_set(x_84, 1, x_83);
|
||||
return x_84;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
uint8_t x_110;
|
||||
uint8_t x_85;
|
||||
lean_dec(x_7);
|
||||
lean_dec(x_6);
|
||||
lean_dec(x_5);
|
||||
lean_dec(x_4);
|
||||
lean_dec(x_3);
|
||||
lean_dec(x_2);
|
||||
x_110 = !lean_is_exclusive(x_9);
|
||||
if (x_110 == 0)
|
||||
x_85 = !lean_is_exclusive(x_9);
|
||||
if (x_85 == 0)
|
||||
{
|
||||
return x_9;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_111; lean_object* x_112; lean_object* x_113;
|
||||
x_111 = lean_ctor_get(x_9, 0);
|
||||
x_112 = lean_ctor_get(x_9, 1);
|
||||
lean_inc(x_112);
|
||||
lean_inc(x_111);
|
||||
lean_object* x_86; lean_object* x_87; lean_object* x_88;
|
||||
x_86 = lean_ctor_get(x_9, 0);
|
||||
x_87 = lean_ctor_get(x_9, 1);
|
||||
lean_inc(x_87);
|
||||
lean_inc(x_86);
|
||||
lean_dec(x_9);
|
||||
x_113 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_113, 0, x_111);
|
||||
lean_ctor_set(x_113, 1, x_112);
|
||||
return x_113;
|
||||
x_88 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_88, 0, x_86);
|
||||
lean_ctor_set(x_88, 1, x_87);
|
||||
return x_88;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -13365,10 +13271,6 @@ l_Lean_Elab_Term_elabDecide___rarg___closed__1 = _init_l_Lean_Elab_Term_elabDeci
|
|||
lean_mark_persistent(l_Lean_Elab_Term_elabDecide___rarg___closed__1);
|
||||
l_Lean_Elab_Term_elabDecide___rarg___closed__2 = _init_l_Lean_Elab_Term_elabDecide___rarg___closed__2();
|
||||
lean_mark_persistent(l_Lean_Elab_Term_elabDecide___rarg___closed__2);
|
||||
l_Lean_Elab_Term_elabDecide___rarg___closed__3 = _init_l_Lean_Elab_Term_elabDecide___rarg___closed__3();
|
||||
lean_mark_persistent(l_Lean_Elab_Term_elabDecide___rarg___closed__3);
|
||||
l_Lean_Elab_Term_elabDecide___rarg___closed__4 = _init_l_Lean_Elab_Term_elabDecide___rarg___closed__4();
|
||||
lean_mark_persistent(l_Lean_Elab_Term_elabDecide___rarg___closed__4);
|
||||
l___regBuiltin_Lean_Elab_Term_elabDecide___closed__1 = _init_l___regBuiltin_Lean_Elab_Term_elabDecide___closed__1();
|
||||
lean_mark_persistent(l___regBuiltin_Lean_Elab_Term_elabDecide___closed__1);
|
||||
res = l___regBuiltin_Lean_Elab_Term_elabDecide(lean_io_mk_world());
|
||||
|
|
|
|||
232
stage0/stdlib/Lean/Elab/Deriving/Util.c
generated
232
stage0/stdlib/Lean/Elab/Deriving/Util.c
generated
|
|
@ -66,7 +66,6 @@ lean_object* l_Lean_MessageData_ofList(lean_object*);
|
|||
lean_object* l_Lean_Meta_isTypeCorrect(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Meta_forallBoundedTelescope___at_Lean_Elab_Deriving_mkInstImplicitBinders___spec__3___at_Lean_Elab_Deriving_mkInstImplicitBinders___spec__4___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_throwError___at_Lean_Elab_Deriving_mkContext___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
extern lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Util_Trace_0__Lean_withNestedTracesFinalizer___spec__5___closed__1;
|
||||
extern lean_object* l_myMacro____x40_Init_Notation___hyg_15387____closed__9;
|
||||
lean_object* l_Lean_throwError___at_Lean_Elab_Deriving_mkContext___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_getConstInfoInduct___at_Lean_Elab_Deriving_mkContext___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
|
|
@ -154,7 +153,6 @@ lean_object* l_Lean_getConstInfoInduct___at_Lean_Elab_Deriving_mkContext___spec_
|
|||
lean_object* l_Array_appendCore___rarg(lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Meta_forallTelescopeReducing___at_Lean_Elab_Deriving_mkInductArgNames___spec__2___at_Lean_Elab_Deriving_mkInductArgNames___spec__3___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_MonadRef_mkInfoFromRefPos___at_Lean_Elab_Deriving_mkInstImplicitBinders___spec__1___rarg___boxed(lean_object*, lean_object*, lean_object*);
|
||||
extern lean_object* l_Lean_Meta_initFn____x40_Lean_Meta_Basic___hyg_556____closed__4;
|
||||
lean_object* l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_mkInstanceCmds___spec__1___boxed(lean_object**);
|
||||
extern lean_object* l_myMacro____x40_Init_Notation___hyg_15956____closed__2;
|
||||
lean_object* l_Array_ofSubarray___rarg(lean_object*);
|
||||
|
|
@ -2555,7 +2553,7 @@ return x_10;
|
|||
lean_object* l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_mkInstanceCmds___spec__1___lambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14, lean_object* x_15) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39; lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44; lean_object* x_45; lean_object* x_46; lean_object* x_47; lean_object* x_48; lean_object* x_49; lean_object* x_50; lean_object* x_51; lean_object* x_52; lean_object* x_53; lean_object* x_54; lean_object* x_55; lean_object* x_56; lean_object* x_57; lean_object* x_58; lean_object* x_59; lean_object* x_60; lean_object* x_61; lean_object* x_62; lean_object* x_63; lean_object* x_64; lean_object* x_65; lean_object* x_66; lean_object* x_67; lean_object* x_68; lean_object* x_69; lean_object* x_70; lean_object* x_71; lean_object* x_72; lean_object* x_73; lean_object* x_74; lean_object* x_75; uint8_t x_76; lean_object* x_77; lean_object* x_97; lean_object* x_98; lean_object* x_99; uint8_t x_100;
|
||||
lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; uint8_t x_22;
|
||||
x_16 = l_Lean_MonadRef_mkInfoFromRefPos___at_Lean_Elab_Deriving_mkInstImplicitBinders___spec__1___rarg(x_13, x_14, x_15);
|
||||
x_17 = lean_ctor_get(x_16, 0);
|
||||
lean_inc(x_17);
|
||||
|
|
@ -2567,16 +2565,12 @@ x_20 = lean_ctor_get(x_19, 1);
|
|||
lean_inc(x_20);
|
||||
lean_dec(x_19);
|
||||
x_21 = l_Lean_Elab_Term_getMainModule___rarg(x_14, x_20);
|
||||
x_22 = lean_ctor_get(x_21, 1);
|
||||
lean_inc(x_22);
|
||||
if (lean_is_exclusive(x_21)) {
|
||||
lean_ctor_release(x_21, 0);
|
||||
lean_ctor_release(x_21, 1);
|
||||
x_23 = x_21;
|
||||
} else {
|
||||
lean_dec_ref(x_21);
|
||||
x_23 = lean_box(0);
|
||||
}
|
||||
x_22 = !lean_is_exclusive(x_21);
|
||||
if (x_22 == 0)
|
||||
{
|
||||
lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39; lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44; lean_object* x_45; lean_object* x_46; lean_object* x_47; lean_object* x_48; lean_object* x_49; lean_object* x_50; lean_object* x_51; lean_object* x_52; lean_object* x_53; lean_object* x_54; lean_object* x_55; lean_object* x_56; lean_object* x_57; lean_object* x_58; lean_object* x_59; lean_object* x_60; lean_object* x_61; lean_object* x_62; lean_object* x_63; lean_object* x_64; lean_object* x_65; lean_object* x_66; lean_object* x_67; lean_object* x_68; lean_object* x_69; lean_object* x_70; lean_object* x_71; lean_object* x_72; lean_object* x_73; lean_object* x_74; lean_object* x_75; lean_object* x_76; lean_object* x_77;
|
||||
x_23 = lean_ctor_get(x_21, 0);
|
||||
lean_dec(x_23);
|
||||
x_24 = l_Lean_myMacro____x40_Init_NotationExtra___hyg_1136____closed__2;
|
||||
x_25 = lean_name_mk_string(x_1, x_24);
|
||||
x_26 = l_Lean_myMacro____x40_Init_NotationExtra___hyg_1136____closed__4;
|
||||
|
|
@ -2677,105 +2671,125 @@ x_74 = lean_array_push(x_38, x_73);
|
|||
x_75 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_75, 0, x_27);
|
||||
lean_ctor_set(x_75, 1, x_74);
|
||||
x_97 = lean_st_ref_get(x_14, x_22);
|
||||
x_98 = lean_ctor_get(x_97, 0);
|
||||
lean_inc(x_98);
|
||||
x_99 = lean_ctor_get(x_98, 3);
|
||||
lean_inc(x_99);
|
||||
lean_dec(x_98);
|
||||
x_100 = lean_ctor_get_uint8(x_99, sizeof(void*)*1);
|
||||
lean_dec(x_99);
|
||||
if (x_100 == 0)
|
||||
{
|
||||
lean_object* x_101; uint8_t x_102;
|
||||
x_101 = lean_ctor_get(x_97, 1);
|
||||
lean_inc(x_101);
|
||||
lean_dec(x_97);
|
||||
x_102 = 0;
|
||||
x_76 = x_102;
|
||||
x_77 = x_101;
|
||||
goto block_96;
|
||||
x_76 = lean_array_push(x_7, x_75);
|
||||
x_77 = lean_alloc_ctor(1, 1, 0);
|
||||
lean_ctor_set(x_77, 0, x_76);
|
||||
lean_ctor_set(x_21, 0, x_77);
|
||||
return x_21;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_103; lean_object* x_104; lean_object* x_105; lean_object* x_106; lean_object* x_107; uint8_t x_108;
|
||||
x_103 = lean_ctor_get(x_97, 1);
|
||||
lean_inc(x_103);
|
||||
lean_dec(x_97);
|
||||
x_104 = l_Lean_Meta_initFn____x40_Lean_Meta_Basic___hyg_556____closed__4;
|
||||
x_105 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at___private_Lean_Elab_Term_0__Lean_Elab_Term_postponeElabTerm___spec__2(x_104, x_9, x_10, x_11, x_12, x_13, x_14, x_103);
|
||||
x_106 = lean_ctor_get(x_105, 0);
|
||||
lean_inc(x_106);
|
||||
x_107 = lean_ctor_get(x_105, 1);
|
||||
lean_inc(x_107);
|
||||
lean_dec(x_105);
|
||||
x_108 = lean_unbox(x_106);
|
||||
lean_dec(x_106);
|
||||
x_76 = x_108;
|
||||
x_77 = x_107;
|
||||
goto block_96;
|
||||
}
|
||||
block_96:
|
||||
{
|
||||
if (x_76 == 0)
|
||||
{
|
||||
lean_object* x_78; lean_object* x_79; lean_object* x_80;
|
||||
x_78 = lean_array_push(x_7, x_75);
|
||||
x_79 = lean_alloc_ctor(1, 1, 0);
|
||||
lean_ctor_set(x_79, 0, x_78);
|
||||
if (lean_is_scalar(x_23)) {
|
||||
x_80 = lean_alloc_ctor(0, 2, 0);
|
||||
} else {
|
||||
x_80 = x_23;
|
||||
}
|
||||
lean_ctor_set(x_80, 0, x_79);
|
||||
lean_ctor_set(x_80, 1, x_77);
|
||||
return x_80;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_81; lean_object* x_82; lean_object* x_83; lean_object* x_84; lean_object* x_85; lean_object* x_86; lean_object* x_87; uint8_t x_88;
|
||||
lean_dec(x_23);
|
||||
lean_inc(x_75);
|
||||
x_81 = lean_alloc_ctor(1, 1, 0);
|
||||
lean_ctor_set(x_81, 0, x_75);
|
||||
x_82 = l_Array_foldlMUnsafe_fold___at___private_Lean_Util_Trace_0__Lean_withNestedTracesFinalizer___spec__5___closed__1;
|
||||
x_83 = lean_alloc_ctor(10, 2, 0);
|
||||
lean_ctor_set(x_83, 0, x_82);
|
||||
lean_ctor_set(x_83, 1, x_81);
|
||||
x_84 = l_Lean_KernelException_toMessageData___closed__15;
|
||||
x_85 = lean_alloc_ctor(10, 2, 0);
|
||||
lean_ctor_set(x_85, 0, x_83);
|
||||
lean_ctor_set(x_85, 1, x_84);
|
||||
x_86 = l_Lean_Meta_initFn____x40_Lean_Meta_Basic___hyg_556____closed__4;
|
||||
x_87 = l_Lean_addTrace___at___private_Lean_Elab_Term_0__Lean_Elab_Term_postponeElabTerm___spec__1(x_86, x_85, x_9, x_10, x_11, x_12, x_13, x_14, x_77);
|
||||
x_88 = !lean_is_exclusive(x_87);
|
||||
if (x_88 == 0)
|
||||
{
|
||||
lean_object* x_89; lean_object* x_90; lean_object* x_91;
|
||||
x_89 = lean_ctor_get(x_87, 0);
|
||||
lean_dec(x_89);
|
||||
x_90 = lean_array_push(x_7, x_75);
|
||||
x_91 = lean_alloc_ctor(1, 1, 0);
|
||||
lean_ctor_set(x_91, 0, x_90);
|
||||
lean_ctor_set(x_87, 0, x_91);
|
||||
return x_87;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_92; lean_object* x_93; lean_object* x_94; lean_object* x_95;
|
||||
x_92 = lean_ctor_get(x_87, 1);
|
||||
lean_inc(x_92);
|
||||
lean_dec(x_87);
|
||||
x_93 = lean_array_push(x_7, x_75);
|
||||
x_94 = lean_alloc_ctor(1, 1, 0);
|
||||
lean_ctor_set(x_94, 0, x_93);
|
||||
x_95 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_95, 0, x_94);
|
||||
lean_ctor_set(x_95, 1, x_92);
|
||||
return x_95;
|
||||
}
|
||||
}
|
||||
lean_object* x_78; lean_object* x_79; lean_object* x_80; lean_object* x_81; lean_object* x_82; lean_object* x_83; lean_object* x_84; lean_object* x_85; lean_object* x_86; lean_object* x_87; lean_object* x_88; lean_object* x_89; lean_object* x_90; lean_object* x_91; lean_object* x_92; lean_object* x_93; lean_object* x_94; lean_object* x_95; lean_object* x_96; lean_object* x_97; lean_object* x_98; lean_object* x_99; lean_object* x_100; lean_object* x_101; lean_object* x_102; lean_object* x_103; lean_object* x_104; lean_object* x_105; lean_object* x_106; lean_object* x_107; lean_object* x_108; lean_object* x_109; lean_object* x_110; lean_object* x_111; lean_object* x_112; lean_object* x_113; lean_object* x_114; lean_object* x_115; lean_object* x_116; lean_object* x_117; lean_object* x_118; lean_object* x_119; lean_object* x_120; lean_object* x_121; lean_object* x_122; lean_object* x_123; lean_object* x_124; lean_object* x_125; lean_object* x_126; lean_object* x_127; lean_object* x_128; lean_object* x_129; lean_object* x_130; lean_object* x_131; lean_object* x_132; lean_object* x_133;
|
||||
x_78 = lean_ctor_get(x_21, 1);
|
||||
lean_inc(x_78);
|
||||
lean_dec(x_21);
|
||||
x_79 = l_Lean_myMacro____x40_Init_NotationExtra___hyg_1136____closed__2;
|
||||
x_80 = lean_name_mk_string(x_1, x_79);
|
||||
x_81 = l_Lean_myMacro____x40_Init_NotationExtra___hyg_1136____closed__4;
|
||||
lean_inc(x_80);
|
||||
x_82 = lean_name_mk_string(x_80, x_81);
|
||||
x_83 = l_Lean_myMacro____x40_Init_NotationExtra___hyg_1136____closed__6;
|
||||
lean_inc(x_80);
|
||||
x_84 = lean_name_mk_string(x_80, x_83);
|
||||
lean_inc(x_3);
|
||||
lean_inc(x_2);
|
||||
x_85 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_85, 0, x_2);
|
||||
lean_ctor_set(x_85, 1, x_3);
|
||||
lean_inc(x_85);
|
||||
lean_inc(x_3);
|
||||
x_86 = lean_array_push(x_3, x_85);
|
||||
lean_inc(x_85);
|
||||
lean_inc(x_86);
|
||||
x_87 = lean_array_push(x_86, x_85);
|
||||
lean_inc(x_85);
|
||||
x_88 = lean_array_push(x_87, x_85);
|
||||
lean_inc(x_85);
|
||||
x_89 = lean_array_push(x_88, x_85);
|
||||
lean_inc(x_85);
|
||||
x_90 = lean_array_push(x_89, x_85);
|
||||
lean_inc(x_85);
|
||||
x_91 = lean_array_push(x_90, x_85);
|
||||
x_92 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_92, 0, x_84);
|
||||
lean_ctor_set(x_92, 1, x_91);
|
||||
lean_inc(x_3);
|
||||
x_93 = lean_array_push(x_3, x_92);
|
||||
x_94 = l_myMacro____x40_Init_NotationExtra___hyg_5658____closed__21;
|
||||
lean_inc(x_80);
|
||||
x_95 = lean_name_mk_string(x_80, x_94);
|
||||
x_96 = l_Lean_command__Unif__hint______Where___x7c_x2d_u22a2_____closed__3;
|
||||
lean_inc(x_4);
|
||||
x_97 = lean_name_mk_string(x_4, x_96);
|
||||
x_98 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_98, 0, x_97);
|
||||
lean_ctor_set(x_98, 1, x_86);
|
||||
lean_inc(x_3);
|
||||
x_99 = lean_array_push(x_3, x_98);
|
||||
lean_inc(x_17);
|
||||
x_100 = lean_alloc_ctor(2, 2, 0);
|
||||
lean_ctor_set(x_100, 0, x_17);
|
||||
lean_ctor_set(x_100, 1, x_94);
|
||||
x_101 = lean_array_push(x_99, x_100);
|
||||
lean_inc(x_85);
|
||||
x_102 = lean_array_push(x_101, x_85);
|
||||
lean_inc(x_85);
|
||||
x_103 = lean_array_push(x_102, x_85);
|
||||
x_104 = l_myMacro____x40_Init_NotationExtra___hyg_5658____closed__25;
|
||||
lean_inc(x_80);
|
||||
x_105 = lean_name_mk_string(x_80, x_104);
|
||||
lean_inc(x_3);
|
||||
x_106 = l_Array_appendCore___rarg(x_3, x_5);
|
||||
x_107 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_107, 0, x_2);
|
||||
lean_ctor_set(x_107, 1, x_106);
|
||||
lean_inc(x_3);
|
||||
x_108 = lean_array_push(x_3, x_107);
|
||||
x_109 = l_Lean_expandExplicitBindersAux_loop___closed__3;
|
||||
x_110 = lean_name_mk_string(x_4, x_109);
|
||||
x_111 = l_myMacro____x40_Init_Notation___hyg_15387____closed__9;
|
||||
lean_inc(x_17);
|
||||
x_112 = lean_alloc_ctor(2, 2, 0);
|
||||
lean_ctor_set(x_112, 0, x_17);
|
||||
lean_ctor_set(x_112, 1, x_111);
|
||||
lean_inc(x_3);
|
||||
x_113 = lean_array_push(x_3, x_112);
|
||||
x_114 = lean_array_push(x_113, x_6);
|
||||
x_115 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_115, 0, x_110);
|
||||
lean_ctor_set(x_115, 1, x_114);
|
||||
x_116 = lean_array_push(x_108, x_115);
|
||||
x_117 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_117, 0, x_105);
|
||||
lean_ctor_set(x_117, 1, x_116);
|
||||
x_118 = lean_array_push(x_103, x_117);
|
||||
x_119 = l_Lean_myMacro____x40_Init_NotationExtra___hyg_1136____closed__32;
|
||||
x_120 = lean_name_mk_string(x_80, x_119);
|
||||
x_121 = l_myMacro____x40_Init_Notation___hyg_15956____closed__11;
|
||||
x_122 = lean_alloc_ctor(2, 2, 0);
|
||||
lean_ctor_set(x_122, 0, x_17);
|
||||
lean_ctor_set(x_122, 1, x_121);
|
||||
x_123 = lean_array_push(x_3, x_122);
|
||||
x_124 = lean_array_push(x_123, x_8);
|
||||
x_125 = lean_array_push(x_124, x_85);
|
||||
x_126 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_126, 0, x_120);
|
||||
lean_ctor_set(x_126, 1, x_125);
|
||||
x_127 = lean_array_push(x_118, x_126);
|
||||
x_128 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_128, 0, x_95);
|
||||
lean_ctor_set(x_128, 1, x_127);
|
||||
x_129 = lean_array_push(x_93, x_128);
|
||||
x_130 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_130, 0, x_82);
|
||||
lean_ctor_set(x_130, 1, x_129);
|
||||
x_131 = lean_array_push(x_7, x_130);
|
||||
x_132 = lean_alloc_ctor(1, 1, 0);
|
||||
lean_ctor_set(x_132, 0, x_131);
|
||||
x_133 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_133, 0, x_132);
|
||||
lean_ctor_set(x_133, 1, x_78);
|
||||
return x_133;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
294
stage0/stdlib/Lean/Elab/Inductive.c
generated
294
stage0/stdlib/Lean/Elab/Inductive.c
generated
|
|
@ -144,6 +144,7 @@ lean_object* l_Lean_Level_getOffsetAux(lean_object*, lean_object*);
|
|||
lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_mkIndFVar2Const(lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_checkNumParams___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_List_map___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_applyInferMod___spec__1___boxed(lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Elab_Command_initFn____x40_Lean_Elab_Inductive___hyg_3034____closed__4;
|
||||
lean_object* l_Lean_Meta_forallTelescopeReducing___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_checkParamsAndResultType___spec__1___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_checkParamsAndResultType___spec__2___lambda__1___closed__3;
|
||||
lean_object* l_Lean_Elab_Term_getLevelNames___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_List_mapM___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_updateParams___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
|
|
@ -246,6 +247,7 @@ lean_object* l_Lean_throwError___at___private_Lean_Elab_Inductive_0__Lean_Elab_C
|
|||
lean_object* l_Lean_Elab_Command_checkValidCtorModifier___rarg___lambda__3___closed__3;
|
||||
lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_checkNumParams(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_applyDerivingHandlers___spec__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Elab_Command_initFn____x40_Lean_Elab_Inductive___hyg_3034____closed__6;
|
||||
lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_mkAuxConstructions___spec__9___lambda__1(uint8_t, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Meta_withLocalDecl___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabCtors_checkParamOccs___spec__8___rarg(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_replaceRef(lean_object*, lean_object*);
|
||||
|
|
@ -312,7 +314,6 @@ lean_object* l_Lean_Meta_withLocalDecl___at___private_Lean_Elab_Inductive_0__Lea
|
|||
lean_object* l_Lean_CollectLevelParams_main(lean_object*, lean_object*);
|
||||
lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_mkCtor2InferMod___spec__1(lean_object*, size_t, size_t, lean_object*);
|
||||
lean_object* l_Lean_Meta_withLetDecl___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabCtors_checkParamOccs___spec__12___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabCtors_checkParamOccs___spec__13(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Elab_Command_initFn____x40_Lean_Elab_Inductive___hyg_3076____closed__4;
|
||||
lean_object* l_List_map___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_updateResultingUniverse___spec__2(lean_object*, lean_object*);
|
||||
lean_object* l_List_mapM___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_replaceIndFVarsWithConsts___spec__2___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* lean_mk_no_confusion(lean_object*, lean_object*);
|
||||
|
|
@ -341,7 +342,6 @@ lean_object* l_Lean_Elab_sortDeclLevelParams(lean_object*, lean_object*, lean_ob
|
|||
lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_getResultingUniverse___closed__2;
|
||||
lean_object* l_Lean_Meta_withLCtx___at_Lean_Elab_Term_elabSyntheticHole___spec__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_applyDerivingHandlers___spec__3(lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Elab_Command_initFn____x40_Lean_Elab_Inductive___hyg_3076____closed__2;
|
||||
lean_object* l_Lean_Meta_transform_visit___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabCtors_checkParamOccs___spec__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Elab_Command_checkValidInductiveModifier___rarg___lambda__2___closed__1;
|
||||
extern lean_object* l_Lean_Parser_Command_inductive___elambda__1___closed__1;
|
||||
|
|
@ -352,7 +352,6 @@ lean_object* l_Lean_Meta_forallTelescopeReducing___at___private_Lean_Elab_Induct
|
|||
lean_object* l_Lean_Meta_isTypeFormerType(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Meta_forallTelescopeReducing___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_checkParamsAndResultType___spec__1___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_checkParamsAndResultType___spec__2___lambda__1___closed__4;
|
||||
lean_object* l_Lean_Meta_withIncRecDepth___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabCtors_checkParamOccs___spec__16___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Elab_Command_initFn____x40_Lean_Elab_Inductive___hyg_3076____closed__1;
|
||||
uint8_t l_Lean_Expr_Data_binderInfo(uint64_t);
|
||||
lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_checkParamsAndResultType_match__1(lean_object*);
|
||||
size_t lean_usize_of_nat(lean_object*);
|
||||
|
|
@ -375,6 +374,7 @@ lean_object* l_Lean_Meta_withIncRecDepth___at___private_Lean_Elab_Inductive_0__L
|
|||
lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_updateResultingUniverse___closed__2;
|
||||
lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_updateResultingUniverse(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_checkNumParams___spec__1___closed__2;
|
||||
lean_object* l_Lean_Elab_Command_initFn____x40_Lean_Elab_Inductive___hyg_3034____closed__5;
|
||||
lean_object* l_Lean_Elab_Command_accLevelAtCtor___closed__2;
|
||||
lean_object* l_Lean_addDecl___at_Lean_Elab_Term_evalExpr___spec__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_mkIBelow___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_mkAuxConstructions___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
|
|
@ -416,7 +416,6 @@ extern uint8_t l_instInhabitedBool;
|
|||
lean_object* l_Lean_Meta_transform_visit_visitPost___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabCtors_checkParamOccs___spec__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
extern lean_object* l_Lean_CollectLevelParams_instInhabitedState___closed__1;
|
||||
lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_updateResultingUniverse___lambda__1___closed__1;
|
||||
lean_object* l_Lean_Elab_Command_initFn____x40_Lean_Elab_Inductive___hyg_3076____closed__6;
|
||||
lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_mkAuxConstructions___closed__2;
|
||||
lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_getResultingUniverse(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Elab_Command_elabInductiveViews___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
|
|
@ -443,7 +442,7 @@ lean_object* l_Lean_Meta_transform_visit___at___private_Lean_Elab_Inductive_0__L
|
|||
lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_eqvFirstTypeResult___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_List_mapM___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabCtors___spec__1___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
extern lean_object* l_Std_PersistentHashMap_find_x21___rarg___closed__3;
|
||||
lean_object* l_Lean_Elab_Command_initFn____x40_Lean_Elab_Inductive___hyg_3076_(lean_object*);
|
||||
lean_object* l_Lean_Elab_Command_initFn____x40_Lean_Elab_Inductive___hyg_3034_(lean_object*);
|
||||
lean_object* l_Lean_Elab_Command_initFn____x40_Lean_Elab_Inductive___hyg_4_(lean_object*);
|
||||
lean_object* l_Lean_mkIBelow___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_mkAuxConstructions___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Elab_Command_tmpIndParam___closed__3;
|
||||
|
|
@ -458,12 +457,12 @@ lean_object* l_Lean_Meta_forallTelescopeReducing___at_Lean_Meta_getParamNames___
|
|||
lean_object* l_Lean_Meta_withLocalDecl___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabCtors_checkParamOccs___spec__8(lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Level_normalize(lean_object*);
|
||||
lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_mkInductiveDecl___lambda__5___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Elab_Command_initFn____x40_Lean_Elab_Inductive___hyg_3034____closed__3;
|
||||
extern lean_object* l_Lean_instInhabitedExpr___closed__1;
|
||||
lean_object* l_Lean_Elab_Command_checkValidInductiveModifier___rarg___lambda__2___closed__2;
|
||||
lean_object* l_Lean_Elab_Command_elabInductiveViews___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_mkAuxConstructions___spec__6___lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_withUsed_match__1___rarg(lean_object*, lean_object*);
|
||||
extern lean_object* l_Lean_Meta_initFn____x40_Lean_Meta_Basic___hyg_556____closed__4;
|
||||
extern lean_object* l_Lean_Expr_ReplaceLevelImpl_initCache;
|
||||
extern lean_object* l_Std_HashMap_find_x21___rarg___closed__1;
|
||||
lean_object* l_Lean_Meta_withLocalDecl___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabCtors_checkParamOccs___spec__10___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
|
|
@ -488,7 +487,6 @@ lean_object* l_Lean_Elab_Command_elabInductiveViews___lambda__1(lean_object*, le
|
|||
lean_object* lean_st_ref_set(lean_object*, lean_object*, lean_object*);
|
||||
uint8_t l_Lean_Expr_isFVar(lean_object*);
|
||||
lean_object* l_Lean_Meta_withLetDecl___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabCtors_checkParamOccs___spec__12___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Elab_Command_initFn____x40_Lean_Elab_Inductive___hyg_3076____closed__5;
|
||||
lean_object* l_Lean_Elab_Command_instInhabitedElabHeaderResult___closed__1;
|
||||
lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_throwUnexpectedInductiveType___rarg___closed__3;
|
||||
lean_object* l_Lean_addMessageContextFull___at_Lean_Meta_instAddMessageContextMetaM___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
|
|
@ -502,6 +500,7 @@ lean_object* l_List_map___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_
|
|||
lean_object* l_Lean_Meta_inferType(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_mkInductiveDecl___lambda__4___closed__1;
|
||||
lean_object* l_ST_Prim_Ref_modifyGetUnsafe___rarg___boxed(lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Elab_Command_initFn____x40_Lean_Elab_Inductive___hyg_3034____closed__2;
|
||||
lean_object* l_Lean_Meta_isExprDefEq(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* lean_expr_instantiate_rev(lean_object*, lean_object*);
|
||||
lean_object* l_Lean_mkBInductionOn___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_mkAuxConstructions___spec__7(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
|
|
@ -522,6 +521,7 @@ lean_object* lean_mk_array(lean_object*, lean_object*);
|
|||
lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_mkInductiveDecl___lambda__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Option_register___at_Lean_Elab_initFn____x40_Lean_Elab_AutoBound___hyg_4____spec__1(lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_levelMVarToParamAux___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Elab_Command_initFn____x40_Lean_Elab_Inductive___hyg_3034____closed__1;
|
||||
lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_mkAuxConstructions___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_mkNoConfusion___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_mkAuxConstructions___spec__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Std_Range_forIn_loop___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_mkIndFVar2Const___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
|
|
@ -556,7 +556,6 @@ lean_object* l_Lean_Elab_Command_checkValidInductiveModifier___rarg(lean_object*
|
|||
lean_object* l_Lean_Meta_forallTelescopeReducing___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabCtors_elabCtorType___spec__1___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabCtors_elabCtorType___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Elab_Command_checkValidCtorModifier(lean_object*);
|
||||
lean_object* l_Lean_Elab_Command_checkValidCtorModifier___rarg___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Elab_Command_initFn____x40_Lean_Elab_Inductive___hyg_3076____closed__3;
|
||||
lean_object* l_List_mapM___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabCtors___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Std_Range_forIn_loop___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabCtors_checkParamOccs___spec__1___closed__1;
|
||||
lean_object* l_unsafeCast(lean_object*, lean_object*, lean_object*);
|
||||
|
|
@ -615,7 +614,6 @@ lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabHeaderAux_
|
|||
lean_object* l_Lean_Meta_forallTelescopeReducing___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabCtors_elabCtorType___spec__1___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabCtors_elabCtorType___spec__2___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
extern lean_object* l_Lean_Expr_ReplaceImpl_initCache;
|
||||
lean_object* l_Lean_Elab_getBetterRef(lean_object*, lean_object*);
|
||||
extern lean_object* l_Lean_Meta_mkHasTypeButIsExpectedMsg___closed__3;
|
||||
lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_applyDerivingHandlers___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_updateResultingUniverse___lambda__1___closed__3;
|
||||
lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_updateResultingUniverse___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
|
|
@ -8406,7 +8404,6 @@ _start:
|
|||
{
|
||||
lean_object* x_12;
|
||||
lean_inc(x_7);
|
||||
lean_inc(x_5);
|
||||
x_12 = l_Lean_Elab_Term_addAutoBoundImplicits(x_1, x_5, x_6, x_7, x_8, x_9, x_10, x_11);
|
||||
if (lean_obj_tag(x_12) == 0)
|
||||
{
|
||||
|
|
@ -8428,216 +8425,113 @@ lean_inc(x_18);
|
|||
x_19 = lean_ctor_get(x_17, 1);
|
||||
lean_inc(x_19);
|
||||
lean_dec(x_17);
|
||||
lean_inc(x_7);
|
||||
x_20 = l_Lean_Meta_mkForallFVars(x_2, x_18, x_15, x_16, x_7, x_8, x_9, x_10, x_19);
|
||||
if (lean_obj_tag(x_20) == 0)
|
||||
{
|
||||
lean_object* x_21; lean_object* x_22; lean_object* x_23; uint8_t x_24; lean_object* x_25; lean_object* x_47; lean_object* x_48; lean_object* x_49; uint8_t x_50;
|
||||
x_21 = lean_ctor_get(x_20, 0);
|
||||
lean_inc(x_21);
|
||||
x_22 = lean_ctor_get(x_20, 1);
|
||||
lean_inc(x_22);
|
||||
if (lean_is_exclusive(x_20)) {
|
||||
lean_ctor_release(x_20, 0);
|
||||
lean_ctor_release(x_20, 1);
|
||||
x_23 = x_20;
|
||||
} else {
|
||||
lean_dec_ref(x_20);
|
||||
x_23 = lean_box(0);
|
||||
}
|
||||
x_47 = lean_st_ref_get(x_10, x_22);
|
||||
x_48 = lean_ctor_get(x_47, 0);
|
||||
lean_inc(x_48);
|
||||
x_49 = lean_ctor_get(x_48, 3);
|
||||
lean_inc(x_49);
|
||||
lean_dec(x_48);
|
||||
x_50 = lean_ctor_get_uint8(x_49, sizeof(void*)*1);
|
||||
lean_dec(x_49);
|
||||
if (x_50 == 0)
|
||||
uint8_t x_21;
|
||||
x_21 = !lean_is_exclusive(x_20);
|
||||
if (x_21 == 0)
|
||||
{
|
||||
lean_object* x_51;
|
||||
x_51 = lean_ctor_get(x_47, 1);
|
||||
lean_inc(x_51);
|
||||
lean_dec(x_47);
|
||||
x_24 = x_15;
|
||||
x_25 = x_51;
|
||||
goto block_46;
|
||||
lean_object* x_22; lean_object* x_23; lean_object* x_24;
|
||||
x_22 = lean_ctor_get(x_20, 0);
|
||||
x_23 = lean_ctor_get(x_3, 2);
|
||||
lean_inc(x_23);
|
||||
x_24 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_24, 0, x_23);
|
||||
lean_ctor_set(x_24, 1, x_22);
|
||||
lean_ctor_set(x_20, 0, x_24);
|
||||
return x_20;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_52; lean_object* x_53; lean_object* x_54; lean_object* x_55; lean_object* x_56; uint8_t x_57;
|
||||
x_52 = lean_ctor_get(x_47, 1);
|
||||
lean_inc(x_52);
|
||||
lean_dec(x_47);
|
||||
x_53 = l_Lean_Meta_initFn____x40_Lean_Meta_Basic___hyg_556____closed__4;
|
||||
x_54 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at___private_Lean_Elab_Term_0__Lean_Elab_Term_postponeElabTerm___spec__2(x_53, x_5, x_6, x_7, x_8, x_9, x_10, x_52);
|
||||
x_55 = lean_ctor_get(x_54, 0);
|
||||
lean_inc(x_55);
|
||||
x_56 = lean_ctor_get(x_54, 1);
|
||||
lean_inc(x_56);
|
||||
lean_dec(x_54);
|
||||
x_57 = lean_unbox(x_55);
|
||||
lean_dec(x_55);
|
||||
x_24 = x_57;
|
||||
x_25 = x_56;
|
||||
goto block_46;
|
||||
}
|
||||
block_46:
|
||||
{
|
||||
if (x_24 == 0)
|
||||
{
|
||||
lean_object* x_26; lean_object* x_27; lean_object* x_28;
|
||||
lean_dec(x_7);
|
||||
lean_dec(x_5);
|
||||
x_26 = lean_ctor_get(x_3, 2);
|
||||
lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29;
|
||||
x_25 = lean_ctor_get(x_20, 0);
|
||||
x_26 = lean_ctor_get(x_20, 1);
|
||||
lean_inc(x_26);
|
||||
x_27 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_27, 0, x_26);
|
||||
lean_ctor_set(x_27, 1, x_21);
|
||||
if (lean_is_scalar(x_23)) {
|
||||
x_28 = lean_alloc_ctor(0, 2, 0);
|
||||
} else {
|
||||
x_28 = x_23;
|
||||
}
|
||||
lean_inc(x_25);
|
||||
lean_dec(x_20);
|
||||
x_27 = lean_ctor_get(x_3, 2);
|
||||
lean_inc(x_27);
|
||||
x_28 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_28, 0, x_27);
|
||||
lean_ctor_set(x_28, 1, x_25);
|
||||
return x_28;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39; uint8_t x_40;
|
||||
lean_dec(x_23);
|
||||
x_29 = lean_ctor_get(x_3, 2);
|
||||
lean_inc(x_29);
|
||||
x_30 = lean_alloc_ctor(4, 1, 0);
|
||||
lean_ctor_set(x_30, 0, x_29);
|
||||
x_31 = l_Lean_KernelException_toMessageData___closed__15;
|
||||
x_32 = lean_alloc_ctor(10, 2, 0);
|
||||
lean_ctor_set(x_32, 0, x_31);
|
||||
lean_ctor_set(x_32, 1, x_30);
|
||||
x_33 = l_Lean_Meta_mkHasTypeButIsExpectedMsg___closed__3;
|
||||
x_34 = lean_alloc_ctor(10, 2, 0);
|
||||
lean_ctor_set(x_34, 0, x_32);
|
||||
lean_ctor_set(x_34, 1, x_33);
|
||||
lean_inc(x_21);
|
||||
x_35 = lean_alloc_ctor(2, 1, 0);
|
||||
lean_ctor_set(x_35, 0, x_21);
|
||||
x_36 = lean_alloc_ctor(10, 2, 0);
|
||||
lean_ctor_set(x_36, 0, x_34);
|
||||
lean_ctor_set(x_36, 1, x_35);
|
||||
x_37 = lean_alloc_ctor(10, 2, 0);
|
||||
lean_ctor_set(x_37, 0, x_36);
|
||||
lean_ctor_set(x_37, 1, x_31);
|
||||
x_38 = l_Lean_Meta_initFn____x40_Lean_Meta_Basic___hyg_556____closed__4;
|
||||
x_39 = l_Lean_addTrace___at___private_Lean_Elab_Term_0__Lean_Elab_Term_postponeElabTerm___spec__1(x_38, x_37, x_5, x_6, x_7, x_8, x_9, x_10, x_25);
|
||||
lean_dec(x_7);
|
||||
lean_dec(x_5);
|
||||
x_40 = !lean_is_exclusive(x_39);
|
||||
if (x_40 == 0)
|
||||
{
|
||||
lean_object* x_41; lean_object* x_42;
|
||||
x_41 = lean_ctor_get(x_39, 0);
|
||||
lean_dec(x_41);
|
||||
lean_inc(x_29);
|
||||
x_42 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_42, 0, x_29);
|
||||
lean_ctor_set(x_42, 1, x_21);
|
||||
lean_ctor_set(x_39, 0, x_42);
|
||||
return x_39;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_43; lean_object* x_44; lean_object* x_45;
|
||||
x_43 = lean_ctor_get(x_39, 1);
|
||||
lean_inc(x_43);
|
||||
lean_dec(x_39);
|
||||
lean_inc(x_29);
|
||||
x_44 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_44, 0, x_29);
|
||||
lean_ctor_set(x_44, 1, x_21);
|
||||
x_45 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_45, 0, x_44);
|
||||
lean_ctor_set(x_45, 1, x_43);
|
||||
return x_45;
|
||||
}
|
||||
}
|
||||
x_29 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_29, 0, x_28);
|
||||
lean_ctor_set(x_29, 1, x_26);
|
||||
return x_29;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
uint8_t x_58;
|
||||
lean_dec(x_7);
|
||||
lean_dec(x_5);
|
||||
x_58 = !lean_is_exclusive(x_20);
|
||||
if (x_58 == 0)
|
||||
uint8_t x_30;
|
||||
x_30 = !lean_is_exclusive(x_20);
|
||||
if (x_30 == 0)
|
||||
{
|
||||
return x_20;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_59; lean_object* x_60; lean_object* x_61;
|
||||
x_59 = lean_ctor_get(x_20, 0);
|
||||
x_60 = lean_ctor_get(x_20, 1);
|
||||
lean_inc(x_60);
|
||||
lean_inc(x_59);
|
||||
lean_object* x_31; lean_object* x_32; lean_object* x_33;
|
||||
x_31 = lean_ctor_get(x_20, 0);
|
||||
x_32 = lean_ctor_get(x_20, 1);
|
||||
lean_inc(x_32);
|
||||
lean_inc(x_31);
|
||||
lean_dec(x_20);
|
||||
x_61 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_61, 0, x_59);
|
||||
lean_ctor_set(x_61, 1, x_60);
|
||||
return x_61;
|
||||
x_33 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_33, 0, x_31);
|
||||
lean_ctor_set(x_33, 1, x_32);
|
||||
return x_33;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
uint8_t x_62;
|
||||
uint8_t x_34;
|
||||
lean_dec(x_7);
|
||||
lean_dec(x_5);
|
||||
lean_dec(x_2);
|
||||
x_62 = !lean_is_exclusive(x_17);
|
||||
if (x_62 == 0)
|
||||
x_34 = !lean_is_exclusive(x_17);
|
||||
if (x_34 == 0)
|
||||
{
|
||||
return x_17;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_63; lean_object* x_64; lean_object* x_65;
|
||||
x_63 = lean_ctor_get(x_17, 0);
|
||||
x_64 = lean_ctor_get(x_17, 1);
|
||||
lean_inc(x_64);
|
||||
lean_inc(x_63);
|
||||
lean_object* x_35; lean_object* x_36; lean_object* x_37;
|
||||
x_35 = lean_ctor_get(x_17, 0);
|
||||
x_36 = lean_ctor_get(x_17, 1);
|
||||
lean_inc(x_36);
|
||||
lean_inc(x_35);
|
||||
lean_dec(x_17);
|
||||
x_65 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_65, 0, x_63);
|
||||
lean_ctor_set(x_65, 1, x_64);
|
||||
return x_65;
|
||||
x_37 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_37, 0, x_35);
|
||||
lean_ctor_set(x_37, 1, x_36);
|
||||
return x_37;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
uint8_t x_66;
|
||||
uint8_t x_38;
|
||||
lean_dec(x_7);
|
||||
lean_dec(x_5);
|
||||
lean_dec(x_4);
|
||||
lean_dec(x_2);
|
||||
x_66 = !lean_is_exclusive(x_12);
|
||||
if (x_66 == 0)
|
||||
x_38 = !lean_is_exclusive(x_12);
|
||||
if (x_38 == 0)
|
||||
{
|
||||
return x_12;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_67; lean_object* x_68; lean_object* x_69;
|
||||
x_67 = lean_ctor_get(x_12, 0);
|
||||
x_68 = lean_ctor_get(x_12, 1);
|
||||
lean_inc(x_68);
|
||||
lean_inc(x_67);
|
||||
lean_object* x_39; lean_object* x_40; lean_object* x_41;
|
||||
x_39 = lean_ctor_get(x_12, 0);
|
||||
x_40 = lean_ctor_get(x_12, 1);
|
||||
lean_inc(x_40);
|
||||
lean_inc(x_39);
|
||||
lean_dec(x_12);
|
||||
x_69 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_69, 0, x_67);
|
||||
lean_ctor_set(x_69, 1, x_68);
|
||||
return x_69;
|
||||
x_41 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_41, 0, x_39);
|
||||
lean_ctor_set(x_41, 1, x_40);
|
||||
return x_41;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -12075,7 +11969,7 @@ lean_dec(x_1);
|
|||
return x_10;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l_Lean_Elab_Command_initFn____x40_Lean_Elab_Inductive___hyg_3076____closed__1() {
|
||||
static lean_object* _init_l_Lean_Elab_Command_initFn____x40_Lean_Elab_Inductive___hyg_3034____closed__1() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1;
|
||||
|
|
@ -12083,17 +11977,17 @@ x_1 = lean_mk_string("bootstrap");
|
|||
return x_1;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l_Lean_Elab_Command_initFn____x40_Lean_Elab_Inductive___hyg_3076____closed__2() {
|
||||
static lean_object* _init_l_Lean_Elab_Command_initFn____x40_Lean_Elab_Inductive___hyg_3034____closed__2() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3;
|
||||
x_1 = lean_box(0);
|
||||
x_2 = l_Lean_Elab_Command_initFn____x40_Lean_Elab_Inductive___hyg_3076____closed__1;
|
||||
x_2 = l_Lean_Elab_Command_initFn____x40_Lean_Elab_Inductive___hyg_3034____closed__1;
|
||||
x_3 = lean_name_mk_string(x_1, x_2);
|
||||
return x_3;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l_Lean_Elab_Command_initFn____x40_Lean_Elab_Inductive___hyg_3076____closed__3() {
|
||||
static lean_object* _init_l_Lean_Elab_Command_initFn____x40_Lean_Elab_Inductive___hyg_3034____closed__3() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1;
|
||||
|
|
@ -12101,17 +11995,17 @@ x_1 = lean_mk_string("inductiveCheckResultingUniverse");
|
|||
return x_1;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l_Lean_Elab_Command_initFn____x40_Lean_Elab_Inductive___hyg_3076____closed__4() {
|
||||
static lean_object* _init_l_Lean_Elab_Command_initFn____x40_Lean_Elab_Inductive___hyg_3034____closed__4() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3;
|
||||
x_1 = l_Lean_Elab_Command_initFn____x40_Lean_Elab_Inductive___hyg_3076____closed__2;
|
||||
x_2 = l_Lean_Elab_Command_initFn____x40_Lean_Elab_Inductive___hyg_3076____closed__3;
|
||||
x_1 = l_Lean_Elab_Command_initFn____x40_Lean_Elab_Inductive___hyg_3034____closed__2;
|
||||
x_2 = l_Lean_Elab_Command_initFn____x40_Lean_Elab_Inductive___hyg_3034____closed__3;
|
||||
x_3 = lean_name_mk_string(x_1, x_2);
|
||||
return x_3;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l_Lean_Elab_Command_initFn____x40_Lean_Elab_Inductive___hyg_3076____closed__5() {
|
||||
static lean_object* _init_l_Lean_Elab_Command_initFn____x40_Lean_Elab_Inductive___hyg_3034____closed__5() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1;
|
||||
|
|
@ -12119,13 +12013,13 @@ x_1 = lean_mk_string("by default the `inductive/structure commands report an err
|
|||
return x_1;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l_Lean_Elab_Command_initFn____x40_Lean_Elab_Inductive___hyg_3076____closed__6() {
|
||||
static lean_object* _init_l_Lean_Elab_Command_initFn____x40_Lean_Elab_Inductive___hyg_3034____closed__6() {
|
||||
_start:
|
||||
{
|
||||
uint8_t x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5;
|
||||
x_1 = 1;
|
||||
x_2 = l_Lean_Elab_Command_initFn____x40_Lean_Elab_Inductive___hyg_3076____closed__1;
|
||||
x_3 = l_Lean_Elab_Command_initFn____x40_Lean_Elab_Inductive___hyg_3076____closed__5;
|
||||
x_2 = l_Lean_Elab_Command_initFn____x40_Lean_Elab_Inductive___hyg_3034____closed__1;
|
||||
x_3 = l_Lean_Elab_Command_initFn____x40_Lean_Elab_Inductive___hyg_3034____closed__5;
|
||||
x_4 = lean_box(x_1);
|
||||
x_5 = lean_alloc_ctor(0, 3, 0);
|
||||
lean_ctor_set(x_5, 0, x_4);
|
||||
|
|
@ -12134,12 +12028,12 @@ lean_ctor_set(x_5, 2, x_3);
|
|||
return x_5;
|
||||
}
|
||||
}
|
||||
lean_object* l_Lean_Elab_Command_initFn____x40_Lean_Elab_Inductive___hyg_3076_(lean_object* x_1) {
|
||||
lean_object* l_Lean_Elab_Command_initFn____x40_Lean_Elab_Inductive___hyg_3034_(lean_object* x_1) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_2; lean_object* x_3; lean_object* x_4;
|
||||
x_2 = l_Lean_Elab_Command_initFn____x40_Lean_Elab_Inductive___hyg_3076____closed__4;
|
||||
x_3 = l_Lean_Elab_Command_initFn____x40_Lean_Elab_Inductive___hyg_3076____closed__6;
|
||||
x_2 = l_Lean_Elab_Command_initFn____x40_Lean_Elab_Inductive___hyg_3034____closed__4;
|
||||
x_3 = l_Lean_Elab_Command_initFn____x40_Lean_Elab_Inductive___hyg_3034____closed__6;
|
||||
x_4 = l_Lean_Option_register___at_Lean_Elab_initFn____x40_Lean_Elab_AutoBound___hyg_4____spec__1(x_2, x_3, x_1);
|
||||
return x_4;
|
||||
}
|
||||
|
|
@ -20208,19 +20102,19 @@ l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_updateResultingUniverse___c
|
|||
lean_mark_persistent(l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_updateResultingUniverse___closed__1);
|
||||
l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_updateResultingUniverse___closed__2 = _init_l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_updateResultingUniverse___closed__2();
|
||||
lean_mark_persistent(l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_updateResultingUniverse___closed__2);
|
||||
l_Lean_Elab_Command_initFn____x40_Lean_Elab_Inductive___hyg_3076____closed__1 = _init_l_Lean_Elab_Command_initFn____x40_Lean_Elab_Inductive___hyg_3076____closed__1();
|
||||
lean_mark_persistent(l_Lean_Elab_Command_initFn____x40_Lean_Elab_Inductive___hyg_3076____closed__1);
|
||||
l_Lean_Elab_Command_initFn____x40_Lean_Elab_Inductive___hyg_3076____closed__2 = _init_l_Lean_Elab_Command_initFn____x40_Lean_Elab_Inductive___hyg_3076____closed__2();
|
||||
lean_mark_persistent(l_Lean_Elab_Command_initFn____x40_Lean_Elab_Inductive___hyg_3076____closed__2);
|
||||
l_Lean_Elab_Command_initFn____x40_Lean_Elab_Inductive___hyg_3076____closed__3 = _init_l_Lean_Elab_Command_initFn____x40_Lean_Elab_Inductive___hyg_3076____closed__3();
|
||||
lean_mark_persistent(l_Lean_Elab_Command_initFn____x40_Lean_Elab_Inductive___hyg_3076____closed__3);
|
||||
l_Lean_Elab_Command_initFn____x40_Lean_Elab_Inductive___hyg_3076____closed__4 = _init_l_Lean_Elab_Command_initFn____x40_Lean_Elab_Inductive___hyg_3076____closed__4();
|
||||
lean_mark_persistent(l_Lean_Elab_Command_initFn____x40_Lean_Elab_Inductive___hyg_3076____closed__4);
|
||||
l_Lean_Elab_Command_initFn____x40_Lean_Elab_Inductive___hyg_3076____closed__5 = _init_l_Lean_Elab_Command_initFn____x40_Lean_Elab_Inductive___hyg_3076____closed__5();
|
||||
lean_mark_persistent(l_Lean_Elab_Command_initFn____x40_Lean_Elab_Inductive___hyg_3076____closed__5);
|
||||
l_Lean_Elab_Command_initFn____x40_Lean_Elab_Inductive___hyg_3076____closed__6 = _init_l_Lean_Elab_Command_initFn____x40_Lean_Elab_Inductive___hyg_3076____closed__6();
|
||||
lean_mark_persistent(l_Lean_Elab_Command_initFn____x40_Lean_Elab_Inductive___hyg_3076____closed__6);
|
||||
res = l_Lean_Elab_Command_initFn____x40_Lean_Elab_Inductive___hyg_3076_(lean_io_mk_world());
|
||||
l_Lean_Elab_Command_initFn____x40_Lean_Elab_Inductive___hyg_3034____closed__1 = _init_l_Lean_Elab_Command_initFn____x40_Lean_Elab_Inductive___hyg_3034____closed__1();
|
||||
lean_mark_persistent(l_Lean_Elab_Command_initFn____x40_Lean_Elab_Inductive___hyg_3034____closed__1);
|
||||
l_Lean_Elab_Command_initFn____x40_Lean_Elab_Inductive___hyg_3034____closed__2 = _init_l_Lean_Elab_Command_initFn____x40_Lean_Elab_Inductive___hyg_3034____closed__2();
|
||||
lean_mark_persistent(l_Lean_Elab_Command_initFn____x40_Lean_Elab_Inductive___hyg_3034____closed__2);
|
||||
l_Lean_Elab_Command_initFn____x40_Lean_Elab_Inductive___hyg_3034____closed__3 = _init_l_Lean_Elab_Command_initFn____x40_Lean_Elab_Inductive___hyg_3034____closed__3();
|
||||
lean_mark_persistent(l_Lean_Elab_Command_initFn____x40_Lean_Elab_Inductive___hyg_3034____closed__3);
|
||||
l_Lean_Elab_Command_initFn____x40_Lean_Elab_Inductive___hyg_3034____closed__4 = _init_l_Lean_Elab_Command_initFn____x40_Lean_Elab_Inductive___hyg_3034____closed__4();
|
||||
lean_mark_persistent(l_Lean_Elab_Command_initFn____x40_Lean_Elab_Inductive___hyg_3034____closed__4);
|
||||
l_Lean_Elab_Command_initFn____x40_Lean_Elab_Inductive___hyg_3034____closed__5 = _init_l_Lean_Elab_Command_initFn____x40_Lean_Elab_Inductive___hyg_3034____closed__5();
|
||||
lean_mark_persistent(l_Lean_Elab_Command_initFn____x40_Lean_Elab_Inductive___hyg_3034____closed__5);
|
||||
l_Lean_Elab_Command_initFn____x40_Lean_Elab_Inductive___hyg_3034____closed__6 = _init_l_Lean_Elab_Command_initFn____x40_Lean_Elab_Inductive___hyg_3034____closed__6();
|
||||
lean_mark_persistent(l_Lean_Elab_Command_initFn____x40_Lean_Elab_Inductive___hyg_3034____closed__6);
|
||||
res = l_Lean_Elab_Command_initFn____x40_Lean_Elab_Inductive___hyg_3034_(lean_io_mk_world());
|
||||
if (lean_io_result_is_error(res)) return res;
|
||||
l_Lean_Elab_Command_bootstrap_inductiveCheckResultingUniverse = lean_io_result_get_value(res);
|
||||
lean_mark_persistent(l_Lean_Elab_Command_bootstrap_inductiveCheckResultingUniverse);
|
||||
|
|
|
|||
2266
stage0/stdlib/Lean/Elab/Structure.c
generated
2266
stage0/stdlib/Lean/Elab/Structure.c
generated
File diff suppressed because it is too large
Load diff
650
stage0/stdlib/Lean/Meta/ExprDefEq.c
generated
650
stage0/stdlib/Lean/Meta/ExprDefEq.c
generated
|
|
@ -196,6 +196,7 @@ lean_object* l___private_Lean_MetavarContext_0__Lean_MetavarContext_DependsOn_de
|
|||
lean_object* l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_processAssignment(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Meta_CheckAssignment_outOfScopeExceptionId;
|
||||
lean_object* l_Lean_Meta_CheckAssignment_initFn____x40_Lean_Meta_ExprDefEq___hyg_2551____closed__1;
|
||||
lean_object* l_Lean_Meta_getPostponed___rarg(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Meta_isExprDefEqAuxImpl(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_simpAssignmentArgAux(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Array_anyMUnsafe_any___at_Lean_Meta_CheckAssignment_checkMVar___spec__35___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
|
|
@ -671,6 +672,7 @@ lean_object* l_Array_anyMUnsafe_any___at___private_Lean_Meta_ExprDefEq_0__Lean_M
|
|||
lean_object* l_Array_anyMUnsafe_any___at_Lean_Meta_CheckAssignment_checkMVar___spec__15___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_CheckAssignment_addAssignmentInfo___closed__2;
|
||||
uint8_t l_Std_PersistentArray_anyMAux___at_Lean_Meta_CheckAssignment_checkMVar___spec__12(lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Meta_setPostponed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
uint8_t l_Array_anyMUnsafe_any___at_Lean_Meta_CheckAssignmentQuick_check_visit___spec__1(lean_object*, lean_object*, size_t, size_t);
|
||||
lean_object* l_Lean_Meta_getConfig(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Meta_forallBoundedTelescope___at___private_Lean_Meta_FunInfo_0__Lean_Meta_getFunInfoAux___spec__2___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
|
|
@ -905,64 +907,75 @@ return x_63;
|
|||
}
|
||||
else
|
||||
{
|
||||
uint8_t x_64;
|
||||
lean_dec(x_27);
|
||||
lean_object* x_64; lean_object* x_65; lean_object* x_66; lean_object* x_67; lean_object* x_68; lean_object* x_69; uint8_t x_70;
|
||||
lean_dec(x_25);
|
||||
lean_dec(x_19);
|
||||
x_64 = lean_ctor_get(x_51, 1);
|
||||
lean_inc(x_64);
|
||||
lean_dec(x_51);
|
||||
x_65 = l_Lean_Meta_getPostponed___rarg(x_8, x_9, x_10, x_64);
|
||||
x_66 = lean_ctor_get(x_65, 0);
|
||||
lean_inc(x_66);
|
||||
x_67 = lean_ctor_get(x_65, 1);
|
||||
lean_inc(x_67);
|
||||
lean_dec(x_65);
|
||||
x_68 = l_Std_PersistentArray_append___rarg(x_27, x_66);
|
||||
lean_dec(x_66);
|
||||
x_69 = l_Lean_Meta_setPostponed(x_68, x_7, x_8, x_9, x_10, x_67);
|
||||
lean_dec(x_10);
|
||||
lean_dec(x_9);
|
||||
lean_dec(x_8);
|
||||
lean_dec(x_7);
|
||||
x_64 = !lean_is_exclusive(x_51);
|
||||
if (x_64 == 0)
|
||||
x_70 = !lean_is_exclusive(x_69);
|
||||
if (x_70 == 0)
|
||||
{
|
||||
lean_object* x_65; uint8_t x_66; lean_object* x_67;
|
||||
x_65 = lean_ctor_get(x_51, 0);
|
||||
lean_dec(x_65);
|
||||
x_66 = 1;
|
||||
x_67 = lean_box(x_66);
|
||||
lean_ctor_set(x_51, 0, x_67);
|
||||
return x_51;
|
||||
lean_object* x_71; uint8_t x_72; lean_object* x_73;
|
||||
x_71 = lean_ctor_get(x_69, 0);
|
||||
lean_dec(x_71);
|
||||
x_72 = 1;
|
||||
x_73 = lean_box(x_72);
|
||||
lean_ctor_set(x_69, 0, x_73);
|
||||
return x_69;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_68; uint8_t x_69; lean_object* x_70; lean_object* x_71;
|
||||
x_68 = lean_ctor_get(x_51, 1);
|
||||
lean_inc(x_68);
|
||||
lean_dec(x_51);
|
||||
x_69 = 1;
|
||||
x_70 = lean_box(x_69);
|
||||
x_71 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_71, 0, x_70);
|
||||
lean_ctor_set(x_71, 1, x_68);
|
||||
return x_71;
|
||||
lean_object* x_74; uint8_t x_75; lean_object* x_76; lean_object* x_77;
|
||||
x_74 = lean_ctor_get(x_69, 1);
|
||||
lean_inc(x_74);
|
||||
lean_dec(x_69);
|
||||
x_75 = 1;
|
||||
x_76 = lean_box(x_75);
|
||||
x_77 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_77, 0, x_76);
|
||||
lean_ctor_set(x_77, 1, x_74);
|
||||
return x_77;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_72; lean_object* x_73;
|
||||
x_72 = lean_ctor_get(x_51, 0);
|
||||
lean_inc(x_72);
|
||||
x_73 = lean_ctor_get(x_51, 1);
|
||||
lean_inc(x_73);
|
||||
lean_object* x_78; lean_object* x_79;
|
||||
x_78 = lean_ctor_get(x_51, 0);
|
||||
lean_inc(x_78);
|
||||
x_79 = lean_ctor_get(x_51, 1);
|
||||
lean_inc(x_79);
|
||||
lean_dec(x_51);
|
||||
x_29 = x_72;
|
||||
x_30 = x_73;
|
||||
x_29 = x_78;
|
||||
x_30 = x_79;
|
||||
goto block_36;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_74; lean_object* x_75;
|
||||
x_74 = lean_ctor_get(x_37, 0);
|
||||
lean_inc(x_74);
|
||||
x_75 = lean_ctor_get(x_37, 1);
|
||||
lean_inc(x_75);
|
||||
lean_object* x_80; lean_object* x_81;
|
||||
x_80 = lean_ctor_get(x_37, 0);
|
||||
lean_inc(x_80);
|
||||
x_81 = lean_ctor_get(x_37, 1);
|
||||
lean_inc(x_81);
|
||||
lean_dec(x_37);
|
||||
x_29 = x_74;
|
||||
x_30 = x_75;
|
||||
x_29 = x_80;
|
||||
x_30 = x_81;
|
||||
goto block_36;
|
||||
}
|
||||
block_36:
|
||||
|
|
@ -38505,64 +38518,75 @@ return x_58;
|
|||
}
|
||||
else
|
||||
{
|
||||
uint8_t x_59;
|
||||
lean_dec(x_22);
|
||||
lean_object* x_59; lean_object* x_60; lean_object* x_61; lean_object* x_62; lean_object* x_63; lean_object* x_64; uint8_t x_65;
|
||||
lean_dec(x_20);
|
||||
lean_dec(x_14);
|
||||
x_59 = lean_ctor_get(x_46, 1);
|
||||
lean_inc(x_59);
|
||||
lean_dec(x_46);
|
||||
x_60 = l_Lean_Meta_getPostponed___rarg(x_6, x_7, x_8, x_59);
|
||||
x_61 = lean_ctor_get(x_60, 0);
|
||||
lean_inc(x_61);
|
||||
x_62 = lean_ctor_get(x_60, 1);
|
||||
lean_inc(x_62);
|
||||
lean_dec(x_60);
|
||||
x_63 = l_Std_PersistentArray_append___rarg(x_22, x_61);
|
||||
lean_dec(x_61);
|
||||
x_64 = l_Lean_Meta_setPostponed(x_63, x_5, x_6, x_7, x_8, x_62);
|
||||
lean_dec(x_8);
|
||||
lean_dec(x_7);
|
||||
lean_dec(x_6);
|
||||
lean_dec(x_5);
|
||||
x_59 = !lean_is_exclusive(x_46);
|
||||
if (x_59 == 0)
|
||||
x_65 = !lean_is_exclusive(x_64);
|
||||
if (x_65 == 0)
|
||||
{
|
||||
lean_object* x_60; uint8_t x_61; lean_object* x_62;
|
||||
x_60 = lean_ctor_get(x_46, 0);
|
||||
lean_dec(x_60);
|
||||
x_61 = 1;
|
||||
x_62 = lean_box(x_61);
|
||||
lean_ctor_set(x_46, 0, x_62);
|
||||
return x_46;
|
||||
lean_object* x_66; uint8_t x_67; lean_object* x_68;
|
||||
x_66 = lean_ctor_get(x_64, 0);
|
||||
lean_dec(x_66);
|
||||
x_67 = 1;
|
||||
x_68 = lean_box(x_67);
|
||||
lean_ctor_set(x_64, 0, x_68);
|
||||
return x_64;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_63; uint8_t x_64; lean_object* x_65; lean_object* x_66;
|
||||
x_63 = lean_ctor_get(x_46, 1);
|
||||
lean_inc(x_63);
|
||||
lean_dec(x_46);
|
||||
x_64 = 1;
|
||||
x_65 = lean_box(x_64);
|
||||
x_66 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_66, 0, x_65);
|
||||
lean_ctor_set(x_66, 1, x_63);
|
||||
return x_66;
|
||||
lean_object* x_69; uint8_t x_70; lean_object* x_71; lean_object* x_72;
|
||||
x_69 = lean_ctor_get(x_64, 1);
|
||||
lean_inc(x_69);
|
||||
lean_dec(x_64);
|
||||
x_70 = 1;
|
||||
x_71 = lean_box(x_70);
|
||||
x_72 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_72, 0, x_71);
|
||||
lean_ctor_set(x_72, 1, x_69);
|
||||
return x_72;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_67; lean_object* x_68;
|
||||
x_67 = lean_ctor_get(x_46, 0);
|
||||
lean_inc(x_67);
|
||||
x_68 = lean_ctor_get(x_46, 1);
|
||||
lean_inc(x_68);
|
||||
lean_object* x_73; lean_object* x_74;
|
||||
x_73 = lean_ctor_get(x_46, 0);
|
||||
lean_inc(x_73);
|
||||
x_74 = lean_ctor_get(x_46, 1);
|
||||
lean_inc(x_74);
|
||||
lean_dec(x_46);
|
||||
x_24 = x_67;
|
||||
x_25 = x_68;
|
||||
x_24 = x_73;
|
||||
x_25 = x_74;
|
||||
goto block_31;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_69; lean_object* x_70;
|
||||
x_69 = lean_ctor_get(x_32, 0);
|
||||
lean_inc(x_69);
|
||||
x_70 = lean_ctor_get(x_32, 1);
|
||||
lean_inc(x_70);
|
||||
lean_object* x_75; lean_object* x_76;
|
||||
x_75 = lean_ctor_get(x_32, 0);
|
||||
lean_inc(x_75);
|
||||
x_76 = lean_ctor_get(x_32, 1);
|
||||
lean_inc(x_76);
|
||||
lean_dec(x_32);
|
||||
x_24 = x_69;
|
||||
x_25 = x_70;
|
||||
x_24 = x_75;
|
||||
x_25 = x_76;
|
||||
goto block_31;
|
||||
}
|
||||
block_31:
|
||||
|
|
@ -44036,64 +44060,75 @@ return x_74;
|
|||
}
|
||||
else
|
||||
{
|
||||
uint8_t x_75;
|
||||
lean_dec(x_38);
|
||||
lean_object* x_75; lean_object* x_76; lean_object* x_77; lean_object* x_78; lean_object* x_79; lean_object* x_80; uint8_t x_81;
|
||||
lean_dec(x_36);
|
||||
lean_dec(x_30);
|
||||
x_75 = lean_ctor_get(x_62, 1);
|
||||
lean_inc(x_75);
|
||||
lean_dec(x_62);
|
||||
x_76 = l_Lean_Meta_getPostponed___rarg(x_8, x_9, x_10, x_75);
|
||||
x_77 = lean_ctor_get(x_76, 0);
|
||||
lean_inc(x_77);
|
||||
x_78 = lean_ctor_get(x_76, 1);
|
||||
lean_inc(x_78);
|
||||
lean_dec(x_76);
|
||||
x_79 = l_Std_PersistentArray_append___rarg(x_38, x_77);
|
||||
lean_dec(x_77);
|
||||
x_80 = l_Lean_Meta_setPostponed(x_79, x_7, x_8, x_9, x_10, x_78);
|
||||
lean_dec(x_10);
|
||||
lean_dec(x_9);
|
||||
lean_dec(x_8);
|
||||
lean_dec(x_7);
|
||||
x_75 = !lean_is_exclusive(x_62);
|
||||
if (x_75 == 0)
|
||||
x_81 = !lean_is_exclusive(x_80);
|
||||
if (x_81 == 0)
|
||||
{
|
||||
lean_object* x_76; uint8_t x_77; lean_object* x_78;
|
||||
x_76 = lean_ctor_get(x_62, 0);
|
||||
lean_dec(x_76);
|
||||
x_77 = 1;
|
||||
x_78 = lean_box(x_77);
|
||||
lean_ctor_set(x_62, 0, x_78);
|
||||
return x_62;
|
||||
lean_object* x_82; uint8_t x_83; lean_object* x_84;
|
||||
x_82 = lean_ctor_get(x_80, 0);
|
||||
lean_dec(x_82);
|
||||
x_83 = 1;
|
||||
x_84 = lean_box(x_83);
|
||||
lean_ctor_set(x_80, 0, x_84);
|
||||
return x_80;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_79; uint8_t x_80; lean_object* x_81; lean_object* x_82;
|
||||
x_79 = lean_ctor_get(x_62, 1);
|
||||
lean_inc(x_79);
|
||||
lean_dec(x_62);
|
||||
x_80 = 1;
|
||||
x_81 = lean_box(x_80);
|
||||
x_82 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_82, 0, x_81);
|
||||
lean_ctor_set(x_82, 1, x_79);
|
||||
return x_82;
|
||||
lean_object* x_85; uint8_t x_86; lean_object* x_87; lean_object* x_88;
|
||||
x_85 = lean_ctor_get(x_80, 1);
|
||||
lean_inc(x_85);
|
||||
lean_dec(x_80);
|
||||
x_86 = 1;
|
||||
x_87 = lean_box(x_86);
|
||||
x_88 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_88, 0, x_87);
|
||||
lean_ctor_set(x_88, 1, x_85);
|
||||
return x_88;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_83; lean_object* x_84;
|
||||
x_83 = lean_ctor_get(x_62, 0);
|
||||
lean_inc(x_83);
|
||||
x_84 = lean_ctor_get(x_62, 1);
|
||||
lean_inc(x_84);
|
||||
lean_object* x_89; lean_object* x_90;
|
||||
x_89 = lean_ctor_get(x_62, 0);
|
||||
lean_inc(x_89);
|
||||
x_90 = lean_ctor_get(x_62, 1);
|
||||
lean_inc(x_90);
|
||||
lean_dec(x_62);
|
||||
x_40 = x_83;
|
||||
x_41 = x_84;
|
||||
x_40 = x_89;
|
||||
x_41 = x_90;
|
||||
goto block_47;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_85; lean_object* x_86;
|
||||
x_85 = lean_ctor_get(x_48, 0);
|
||||
lean_inc(x_85);
|
||||
x_86 = lean_ctor_get(x_48, 1);
|
||||
lean_inc(x_86);
|
||||
lean_object* x_91; lean_object* x_92;
|
||||
x_91 = lean_ctor_get(x_48, 0);
|
||||
lean_inc(x_91);
|
||||
x_92 = lean_ctor_get(x_48, 1);
|
||||
lean_inc(x_92);
|
||||
lean_dec(x_48);
|
||||
x_40 = x_85;
|
||||
x_41 = x_86;
|
||||
x_40 = x_91;
|
||||
x_41 = x_92;
|
||||
goto block_47;
|
||||
}
|
||||
block_47:
|
||||
|
|
@ -44296,64 +44331,75 @@ return x_74;
|
|||
}
|
||||
else
|
||||
{
|
||||
uint8_t x_75;
|
||||
lean_dec(x_38);
|
||||
lean_object* x_75; lean_object* x_76; lean_object* x_77; lean_object* x_78; lean_object* x_79; lean_object* x_80; uint8_t x_81;
|
||||
lean_dec(x_36);
|
||||
lean_dec(x_30);
|
||||
x_75 = lean_ctor_get(x_62, 1);
|
||||
lean_inc(x_75);
|
||||
lean_dec(x_62);
|
||||
x_76 = l_Lean_Meta_getPostponed___rarg(x_8, x_9, x_10, x_75);
|
||||
x_77 = lean_ctor_get(x_76, 0);
|
||||
lean_inc(x_77);
|
||||
x_78 = lean_ctor_get(x_76, 1);
|
||||
lean_inc(x_78);
|
||||
lean_dec(x_76);
|
||||
x_79 = l_Std_PersistentArray_append___rarg(x_38, x_77);
|
||||
lean_dec(x_77);
|
||||
x_80 = l_Lean_Meta_setPostponed(x_79, x_7, x_8, x_9, x_10, x_78);
|
||||
lean_dec(x_10);
|
||||
lean_dec(x_9);
|
||||
lean_dec(x_8);
|
||||
lean_dec(x_7);
|
||||
x_75 = !lean_is_exclusive(x_62);
|
||||
if (x_75 == 0)
|
||||
x_81 = !lean_is_exclusive(x_80);
|
||||
if (x_81 == 0)
|
||||
{
|
||||
lean_object* x_76; uint8_t x_77; lean_object* x_78;
|
||||
x_76 = lean_ctor_get(x_62, 0);
|
||||
lean_dec(x_76);
|
||||
x_77 = 1;
|
||||
x_78 = lean_box(x_77);
|
||||
lean_ctor_set(x_62, 0, x_78);
|
||||
return x_62;
|
||||
lean_object* x_82; uint8_t x_83; lean_object* x_84;
|
||||
x_82 = lean_ctor_get(x_80, 0);
|
||||
lean_dec(x_82);
|
||||
x_83 = 1;
|
||||
x_84 = lean_box(x_83);
|
||||
lean_ctor_set(x_80, 0, x_84);
|
||||
return x_80;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_79; uint8_t x_80; lean_object* x_81; lean_object* x_82;
|
||||
x_79 = lean_ctor_get(x_62, 1);
|
||||
lean_inc(x_79);
|
||||
lean_dec(x_62);
|
||||
x_80 = 1;
|
||||
x_81 = lean_box(x_80);
|
||||
x_82 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_82, 0, x_81);
|
||||
lean_ctor_set(x_82, 1, x_79);
|
||||
return x_82;
|
||||
lean_object* x_85; uint8_t x_86; lean_object* x_87; lean_object* x_88;
|
||||
x_85 = lean_ctor_get(x_80, 1);
|
||||
lean_inc(x_85);
|
||||
lean_dec(x_80);
|
||||
x_86 = 1;
|
||||
x_87 = lean_box(x_86);
|
||||
x_88 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_88, 0, x_87);
|
||||
lean_ctor_set(x_88, 1, x_85);
|
||||
return x_88;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_83; lean_object* x_84;
|
||||
x_83 = lean_ctor_get(x_62, 0);
|
||||
lean_inc(x_83);
|
||||
x_84 = lean_ctor_get(x_62, 1);
|
||||
lean_inc(x_84);
|
||||
lean_object* x_89; lean_object* x_90;
|
||||
x_89 = lean_ctor_get(x_62, 0);
|
||||
lean_inc(x_89);
|
||||
x_90 = lean_ctor_get(x_62, 1);
|
||||
lean_inc(x_90);
|
||||
lean_dec(x_62);
|
||||
x_40 = x_83;
|
||||
x_41 = x_84;
|
||||
x_40 = x_89;
|
||||
x_41 = x_90;
|
||||
goto block_47;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_85; lean_object* x_86;
|
||||
x_85 = lean_ctor_get(x_48, 0);
|
||||
lean_inc(x_85);
|
||||
x_86 = lean_ctor_get(x_48, 1);
|
||||
lean_inc(x_86);
|
||||
lean_object* x_91; lean_object* x_92;
|
||||
x_91 = lean_ctor_get(x_48, 0);
|
||||
lean_inc(x_91);
|
||||
x_92 = lean_ctor_get(x_48, 1);
|
||||
lean_inc(x_92);
|
||||
lean_dec(x_48);
|
||||
x_40 = x_85;
|
||||
x_41 = x_86;
|
||||
x_40 = x_91;
|
||||
x_41 = x_92;
|
||||
goto block_47;
|
||||
}
|
||||
block_47:
|
||||
|
|
@ -49556,64 +49602,75 @@ return x_56;
|
|||
}
|
||||
else
|
||||
{
|
||||
uint8_t x_57;
|
||||
lean_dec(x_20);
|
||||
lean_object* x_57; lean_object* x_58; lean_object* x_59; lean_object* x_60; lean_object* x_61; lean_object* x_62; uint8_t x_63;
|
||||
lean_dec(x_18);
|
||||
lean_dec(x_12);
|
||||
x_57 = lean_ctor_get(x_44, 1);
|
||||
lean_inc(x_57);
|
||||
lean_dec(x_44);
|
||||
x_58 = l_Lean_Meta_getPostponed___rarg(x_5, x_6, x_7, x_57);
|
||||
x_59 = lean_ctor_get(x_58, 0);
|
||||
lean_inc(x_59);
|
||||
x_60 = lean_ctor_get(x_58, 1);
|
||||
lean_inc(x_60);
|
||||
lean_dec(x_58);
|
||||
x_61 = l_Std_PersistentArray_append___rarg(x_20, x_59);
|
||||
lean_dec(x_59);
|
||||
x_62 = l_Lean_Meta_setPostponed(x_61, x_4, x_5, x_6, x_7, x_60);
|
||||
lean_dec(x_7);
|
||||
lean_dec(x_6);
|
||||
lean_dec(x_5);
|
||||
lean_dec(x_4);
|
||||
x_57 = !lean_is_exclusive(x_44);
|
||||
if (x_57 == 0)
|
||||
x_63 = !lean_is_exclusive(x_62);
|
||||
if (x_63 == 0)
|
||||
{
|
||||
lean_object* x_58; uint8_t x_59; lean_object* x_60;
|
||||
x_58 = lean_ctor_get(x_44, 0);
|
||||
lean_dec(x_58);
|
||||
x_59 = 1;
|
||||
x_60 = lean_box(x_59);
|
||||
lean_ctor_set(x_44, 0, x_60);
|
||||
return x_44;
|
||||
lean_object* x_64; uint8_t x_65; lean_object* x_66;
|
||||
x_64 = lean_ctor_get(x_62, 0);
|
||||
lean_dec(x_64);
|
||||
x_65 = 1;
|
||||
x_66 = lean_box(x_65);
|
||||
lean_ctor_set(x_62, 0, x_66);
|
||||
return x_62;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_61; uint8_t x_62; lean_object* x_63; lean_object* x_64;
|
||||
x_61 = lean_ctor_get(x_44, 1);
|
||||
lean_inc(x_61);
|
||||
lean_dec(x_44);
|
||||
x_62 = 1;
|
||||
x_63 = lean_box(x_62);
|
||||
x_64 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_64, 0, x_63);
|
||||
lean_ctor_set(x_64, 1, x_61);
|
||||
return x_64;
|
||||
lean_object* x_67; uint8_t x_68; lean_object* x_69; lean_object* x_70;
|
||||
x_67 = lean_ctor_get(x_62, 1);
|
||||
lean_inc(x_67);
|
||||
lean_dec(x_62);
|
||||
x_68 = 1;
|
||||
x_69 = lean_box(x_68);
|
||||
x_70 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_70, 0, x_69);
|
||||
lean_ctor_set(x_70, 1, x_67);
|
||||
return x_70;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_65; lean_object* x_66;
|
||||
x_65 = lean_ctor_get(x_44, 0);
|
||||
lean_inc(x_65);
|
||||
x_66 = lean_ctor_get(x_44, 1);
|
||||
lean_inc(x_66);
|
||||
lean_object* x_71; lean_object* x_72;
|
||||
x_71 = lean_ctor_get(x_44, 0);
|
||||
lean_inc(x_71);
|
||||
x_72 = lean_ctor_get(x_44, 1);
|
||||
lean_inc(x_72);
|
||||
lean_dec(x_44);
|
||||
x_22 = x_65;
|
||||
x_23 = x_66;
|
||||
x_22 = x_71;
|
||||
x_23 = x_72;
|
||||
goto block_29;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_67; lean_object* x_68;
|
||||
x_67 = lean_ctor_get(x_30, 0);
|
||||
lean_inc(x_67);
|
||||
x_68 = lean_ctor_get(x_30, 1);
|
||||
lean_inc(x_68);
|
||||
lean_object* x_73; lean_object* x_74;
|
||||
x_73 = lean_ctor_get(x_30, 0);
|
||||
lean_inc(x_73);
|
||||
x_74 = lean_ctor_get(x_30, 1);
|
||||
lean_inc(x_74);
|
||||
lean_dec(x_30);
|
||||
x_22 = x_67;
|
||||
x_23 = x_68;
|
||||
x_22 = x_73;
|
||||
x_23 = x_74;
|
||||
goto block_29;
|
||||
}
|
||||
block_29:
|
||||
|
|
@ -49784,64 +49841,75 @@ return x_56;
|
|||
}
|
||||
else
|
||||
{
|
||||
uint8_t x_57;
|
||||
lean_dec(x_20);
|
||||
lean_object* x_57; lean_object* x_58; lean_object* x_59; lean_object* x_60; lean_object* x_61; lean_object* x_62; uint8_t x_63;
|
||||
lean_dec(x_18);
|
||||
lean_dec(x_12);
|
||||
x_57 = lean_ctor_get(x_44, 1);
|
||||
lean_inc(x_57);
|
||||
lean_dec(x_44);
|
||||
x_58 = l_Lean_Meta_getPostponed___rarg(x_5, x_6, x_7, x_57);
|
||||
x_59 = lean_ctor_get(x_58, 0);
|
||||
lean_inc(x_59);
|
||||
x_60 = lean_ctor_get(x_58, 1);
|
||||
lean_inc(x_60);
|
||||
lean_dec(x_58);
|
||||
x_61 = l_Std_PersistentArray_append___rarg(x_20, x_59);
|
||||
lean_dec(x_59);
|
||||
x_62 = l_Lean_Meta_setPostponed(x_61, x_4, x_5, x_6, x_7, x_60);
|
||||
lean_dec(x_7);
|
||||
lean_dec(x_6);
|
||||
lean_dec(x_5);
|
||||
lean_dec(x_4);
|
||||
x_57 = !lean_is_exclusive(x_44);
|
||||
if (x_57 == 0)
|
||||
x_63 = !lean_is_exclusive(x_62);
|
||||
if (x_63 == 0)
|
||||
{
|
||||
lean_object* x_58; uint8_t x_59; lean_object* x_60;
|
||||
x_58 = lean_ctor_get(x_44, 0);
|
||||
lean_dec(x_58);
|
||||
x_59 = 1;
|
||||
x_60 = lean_box(x_59);
|
||||
lean_ctor_set(x_44, 0, x_60);
|
||||
return x_44;
|
||||
lean_object* x_64; uint8_t x_65; lean_object* x_66;
|
||||
x_64 = lean_ctor_get(x_62, 0);
|
||||
lean_dec(x_64);
|
||||
x_65 = 1;
|
||||
x_66 = lean_box(x_65);
|
||||
lean_ctor_set(x_62, 0, x_66);
|
||||
return x_62;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_61; uint8_t x_62; lean_object* x_63; lean_object* x_64;
|
||||
x_61 = lean_ctor_get(x_44, 1);
|
||||
lean_inc(x_61);
|
||||
lean_dec(x_44);
|
||||
x_62 = 1;
|
||||
x_63 = lean_box(x_62);
|
||||
x_64 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_64, 0, x_63);
|
||||
lean_ctor_set(x_64, 1, x_61);
|
||||
return x_64;
|
||||
lean_object* x_67; uint8_t x_68; lean_object* x_69; lean_object* x_70;
|
||||
x_67 = lean_ctor_get(x_62, 1);
|
||||
lean_inc(x_67);
|
||||
lean_dec(x_62);
|
||||
x_68 = 1;
|
||||
x_69 = lean_box(x_68);
|
||||
x_70 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_70, 0, x_69);
|
||||
lean_ctor_set(x_70, 1, x_67);
|
||||
return x_70;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_65; lean_object* x_66;
|
||||
x_65 = lean_ctor_get(x_44, 0);
|
||||
lean_inc(x_65);
|
||||
x_66 = lean_ctor_get(x_44, 1);
|
||||
lean_inc(x_66);
|
||||
lean_object* x_71; lean_object* x_72;
|
||||
x_71 = lean_ctor_get(x_44, 0);
|
||||
lean_inc(x_71);
|
||||
x_72 = lean_ctor_get(x_44, 1);
|
||||
lean_inc(x_72);
|
||||
lean_dec(x_44);
|
||||
x_22 = x_65;
|
||||
x_23 = x_66;
|
||||
x_22 = x_71;
|
||||
x_23 = x_72;
|
||||
goto block_29;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_67; lean_object* x_68;
|
||||
x_67 = lean_ctor_get(x_30, 0);
|
||||
lean_inc(x_67);
|
||||
x_68 = lean_ctor_get(x_30, 1);
|
||||
lean_inc(x_68);
|
||||
lean_object* x_73; lean_object* x_74;
|
||||
x_73 = lean_ctor_get(x_30, 0);
|
||||
lean_inc(x_73);
|
||||
x_74 = lean_ctor_get(x_30, 1);
|
||||
lean_inc(x_74);
|
||||
lean_dec(x_30);
|
||||
x_22 = x_67;
|
||||
x_23 = x_68;
|
||||
x_22 = x_73;
|
||||
x_23 = x_74;
|
||||
goto block_29;
|
||||
}
|
||||
block_29:
|
||||
|
|
@ -54391,64 +54459,75 @@ return x_60;
|
|||
}
|
||||
else
|
||||
{
|
||||
uint8_t x_61;
|
||||
lean_dec(x_24);
|
||||
lean_object* x_61; lean_object* x_62; lean_object* x_63; lean_object* x_64; lean_object* x_65; lean_object* x_66; uint8_t x_67;
|
||||
lean_dec(x_22);
|
||||
lean_dec(x_16);
|
||||
x_61 = lean_ctor_get(x_48, 1);
|
||||
lean_inc(x_61);
|
||||
lean_dec(x_48);
|
||||
x_62 = l_Lean_Meta_getPostponed___rarg(x_6, x_7, x_8, x_61);
|
||||
x_63 = lean_ctor_get(x_62, 0);
|
||||
lean_inc(x_63);
|
||||
x_64 = lean_ctor_get(x_62, 1);
|
||||
lean_inc(x_64);
|
||||
lean_dec(x_62);
|
||||
x_65 = l_Std_PersistentArray_append___rarg(x_24, x_63);
|
||||
lean_dec(x_63);
|
||||
x_66 = l_Lean_Meta_setPostponed(x_65, x_5, x_6, x_7, x_8, x_64);
|
||||
lean_dec(x_8);
|
||||
lean_dec(x_7);
|
||||
lean_dec(x_6);
|
||||
lean_dec(x_5);
|
||||
x_61 = !lean_is_exclusive(x_48);
|
||||
if (x_61 == 0)
|
||||
x_67 = !lean_is_exclusive(x_66);
|
||||
if (x_67 == 0)
|
||||
{
|
||||
lean_object* x_62; uint8_t x_63; lean_object* x_64;
|
||||
x_62 = lean_ctor_get(x_48, 0);
|
||||
lean_dec(x_62);
|
||||
x_63 = 1;
|
||||
x_64 = lean_box(x_63);
|
||||
lean_ctor_set(x_48, 0, x_64);
|
||||
return x_48;
|
||||
lean_object* x_68; uint8_t x_69; lean_object* x_70;
|
||||
x_68 = lean_ctor_get(x_66, 0);
|
||||
lean_dec(x_68);
|
||||
x_69 = 1;
|
||||
x_70 = lean_box(x_69);
|
||||
lean_ctor_set(x_66, 0, x_70);
|
||||
return x_66;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_65; uint8_t x_66; lean_object* x_67; lean_object* x_68;
|
||||
x_65 = lean_ctor_get(x_48, 1);
|
||||
lean_inc(x_65);
|
||||
lean_dec(x_48);
|
||||
x_66 = 1;
|
||||
x_67 = lean_box(x_66);
|
||||
x_68 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_68, 0, x_67);
|
||||
lean_ctor_set(x_68, 1, x_65);
|
||||
return x_68;
|
||||
lean_object* x_71; uint8_t x_72; lean_object* x_73; lean_object* x_74;
|
||||
x_71 = lean_ctor_get(x_66, 1);
|
||||
lean_inc(x_71);
|
||||
lean_dec(x_66);
|
||||
x_72 = 1;
|
||||
x_73 = lean_box(x_72);
|
||||
x_74 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_74, 0, x_73);
|
||||
lean_ctor_set(x_74, 1, x_71);
|
||||
return x_74;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_69; lean_object* x_70;
|
||||
x_69 = lean_ctor_get(x_48, 0);
|
||||
lean_inc(x_69);
|
||||
x_70 = lean_ctor_get(x_48, 1);
|
||||
lean_inc(x_70);
|
||||
lean_object* x_75; lean_object* x_76;
|
||||
x_75 = lean_ctor_get(x_48, 0);
|
||||
lean_inc(x_75);
|
||||
x_76 = lean_ctor_get(x_48, 1);
|
||||
lean_inc(x_76);
|
||||
lean_dec(x_48);
|
||||
x_26 = x_69;
|
||||
x_27 = x_70;
|
||||
x_26 = x_75;
|
||||
x_27 = x_76;
|
||||
goto block_33;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_71; lean_object* x_72;
|
||||
x_71 = lean_ctor_get(x_34, 0);
|
||||
lean_inc(x_71);
|
||||
x_72 = lean_ctor_get(x_34, 1);
|
||||
lean_inc(x_72);
|
||||
lean_object* x_77; lean_object* x_78;
|
||||
x_77 = lean_ctor_get(x_34, 0);
|
||||
lean_inc(x_77);
|
||||
x_78 = lean_ctor_get(x_34, 1);
|
||||
lean_inc(x_78);
|
||||
lean_dec(x_34);
|
||||
x_26 = x_71;
|
||||
x_27 = x_72;
|
||||
x_26 = x_77;
|
||||
x_27 = x_78;
|
||||
goto block_33;
|
||||
}
|
||||
block_33:
|
||||
|
|
@ -54642,64 +54721,75 @@ return x_71;
|
|||
}
|
||||
else
|
||||
{
|
||||
uint8_t x_72;
|
||||
lean_dec(x_35);
|
||||
lean_object* x_72; lean_object* x_73; lean_object* x_74; lean_object* x_75; lean_object* x_76; lean_object* x_77; uint8_t x_78;
|
||||
lean_dec(x_33);
|
||||
lean_dec(x_27);
|
||||
x_72 = lean_ctor_get(x_59, 1);
|
||||
lean_inc(x_72);
|
||||
lean_dec(x_59);
|
||||
x_73 = l_Lean_Meta_getPostponed___rarg(x_7, x_8, x_9, x_72);
|
||||
x_74 = lean_ctor_get(x_73, 0);
|
||||
lean_inc(x_74);
|
||||
x_75 = lean_ctor_get(x_73, 1);
|
||||
lean_inc(x_75);
|
||||
lean_dec(x_73);
|
||||
x_76 = l_Std_PersistentArray_append___rarg(x_35, x_74);
|
||||
lean_dec(x_74);
|
||||
x_77 = l_Lean_Meta_setPostponed(x_76, x_6, x_7, x_8, x_9, x_75);
|
||||
lean_dec(x_9);
|
||||
lean_dec(x_8);
|
||||
lean_dec(x_7);
|
||||
lean_dec(x_6);
|
||||
x_72 = !lean_is_exclusive(x_59);
|
||||
if (x_72 == 0)
|
||||
x_78 = !lean_is_exclusive(x_77);
|
||||
if (x_78 == 0)
|
||||
{
|
||||
lean_object* x_73; uint8_t x_74; lean_object* x_75;
|
||||
x_73 = lean_ctor_get(x_59, 0);
|
||||
lean_dec(x_73);
|
||||
x_74 = 1;
|
||||
x_75 = lean_box(x_74);
|
||||
lean_ctor_set(x_59, 0, x_75);
|
||||
return x_59;
|
||||
lean_object* x_79; uint8_t x_80; lean_object* x_81;
|
||||
x_79 = lean_ctor_get(x_77, 0);
|
||||
lean_dec(x_79);
|
||||
x_80 = 1;
|
||||
x_81 = lean_box(x_80);
|
||||
lean_ctor_set(x_77, 0, x_81);
|
||||
return x_77;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_76; uint8_t x_77; lean_object* x_78; lean_object* x_79;
|
||||
x_76 = lean_ctor_get(x_59, 1);
|
||||
lean_inc(x_76);
|
||||
lean_dec(x_59);
|
||||
x_77 = 1;
|
||||
x_78 = lean_box(x_77);
|
||||
x_79 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_79, 0, x_78);
|
||||
lean_ctor_set(x_79, 1, x_76);
|
||||
return x_79;
|
||||
lean_object* x_82; uint8_t x_83; lean_object* x_84; lean_object* x_85;
|
||||
x_82 = lean_ctor_get(x_77, 1);
|
||||
lean_inc(x_82);
|
||||
lean_dec(x_77);
|
||||
x_83 = 1;
|
||||
x_84 = lean_box(x_83);
|
||||
x_85 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_85, 0, x_84);
|
||||
lean_ctor_set(x_85, 1, x_82);
|
||||
return x_85;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_80; lean_object* x_81;
|
||||
x_80 = lean_ctor_get(x_59, 0);
|
||||
lean_inc(x_80);
|
||||
x_81 = lean_ctor_get(x_59, 1);
|
||||
lean_inc(x_81);
|
||||
lean_object* x_86; lean_object* x_87;
|
||||
x_86 = lean_ctor_get(x_59, 0);
|
||||
lean_inc(x_86);
|
||||
x_87 = lean_ctor_get(x_59, 1);
|
||||
lean_inc(x_87);
|
||||
lean_dec(x_59);
|
||||
x_37 = x_80;
|
||||
x_38 = x_81;
|
||||
x_37 = x_86;
|
||||
x_38 = x_87;
|
||||
goto block_44;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_82; lean_object* x_83;
|
||||
x_82 = lean_ctor_get(x_45, 0);
|
||||
lean_inc(x_82);
|
||||
x_83 = lean_ctor_get(x_45, 1);
|
||||
lean_inc(x_83);
|
||||
lean_object* x_88; lean_object* x_89;
|
||||
x_88 = lean_ctor_get(x_45, 0);
|
||||
lean_inc(x_88);
|
||||
x_89 = lean_ctor_get(x_45, 1);
|
||||
lean_inc(x_89);
|
||||
lean_dec(x_45);
|
||||
x_37 = x_82;
|
||||
x_38 = x_83;
|
||||
x_37 = x_88;
|
||||
x_38 = x_89;
|
||||
goto block_44;
|
||||
}
|
||||
block_44:
|
||||
|
|
|
|||
25527
stage0/stdlib/Lean/Meta/LevelDefEq.c
generated
25527
stage0/stdlib/Lean/Meta/LevelDefEq.c
generated
File diff suppressed because it is too large
Load diff
191
stage0/stdlib/Lean/Meta/Match/Match.c
generated
191
stage0/stdlib/Lean/Meta/Match/Match.c
generated
|
|
@ -220,7 +220,7 @@ lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_updateAlts___closed_
|
|||
lean_object* l_Lean_mkAppN(lean_object*, lean_object*);
|
||||
lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_withAlts_loop___rarg___closed__3;
|
||||
lean_object* l_List_map___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processValue___spec__3(lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Meta_initFn____x40_Lean_Meta_Match_Match___hyg_7302_(lean_object*);
|
||||
lean_object* l_Lean_Meta_initFn____x40_Lean_Meta_Match_Match___hyg_7283_(lean_object*);
|
||||
uint8_t l_Lean_Environment_hasUnsafe(lean_object*, lean_object*);
|
||||
lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_checkNextPatternTypes(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Meta_Match_mkMatcher_match__2(lean_object*);
|
||||
|
|
@ -25034,7 +25034,7 @@ lean_inc(x_12);
|
|||
x_19 = l_Lean_Meta_mkLambdaFVars(x_1, x_2, x_17, x_18, x_12, x_13, x_14, x_15, x_16);
|
||||
if (lean_obj_tag(x_19) == 0)
|
||||
{
|
||||
lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_48; lean_object* x_49; lean_object* x_50; uint8_t x_51;
|
||||
lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27;
|
||||
x_20 = lean_ctor_get(x_19, 0);
|
||||
lean_inc(x_20);
|
||||
x_21 = lean_ctor_get(x_19, 1);
|
||||
|
|
@ -25048,89 +25048,31 @@ x_24 = l_Lean_mkAppN(x_23, x_4);
|
|||
lean_inc(x_20);
|
||||
x_25 = l_Lean_mkApp(x_24, x_20);
|
||||
x_26 = l_Lean_mkAppN(x_25, x_5);
|
||||
x_48 = lean_st_ref_get(x_15, x_21);
|
||||
x_49 = lean_ctor_get(x_48, 0);
|
||||
lean_inc(x_49);
|
||||
x_50 = lean_ctor_get(x_49, 3);
|
||||
lean_inc(x_50);
|
||||
lean_dec(x_49);
|
||||
x_51 = lean_ctor_get_uint8(x_50, sizeof(void*)*1);
|
||||
lean_dec(x_50);
|
||||
if (x_51 == 0)
|
||||
{
|
||||
lean_object* x_52;
|
||||
x_52 = lean_ctor_get(x_48, 1);
|
||||
lean_inc(x_52);
|
||||
lean_dec(x_48);
|
||||
x_27 = x_52;
|
||||
goto block_47;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_53; lean_object* x_54; lean_object* x_55; lean_object* x_56; uint8_t x_57;
|
||||
x_53 = lean_ctor_get(x_48, 1);
|
||||
lean_inc(x_53);
|
||||
lean_dec(x_48);
|
||||
x_54 = l_Lean_Meta_initFn____x40_Lean_Meta_Basic___hyg_556____closed__4;
|
||||
x_55 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_isLevelDefEqAux___spec__2(x_54, x_12, x_13, x_14, x_15, x_53);
|
||||
x_56 = lean_ctor_get(x_55, 0);
|
||||
lean_inc(x_56);
|
||||
x_57 = lean_unbox(x_56);
|
||||
lean_dec(x_56);
|
||||
if (x_57 == 0)
|
||||
{
|
||||
lean_object* x_58;
|
||||
x_58 = lean_ctor_get(x_55, 1);
|
||||
lean_inc(x_58);
|
||||
lean_dec(x_55);
|
||||
x_27 = x_58;
|
||||
goto block_47;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_59; lean_object* x_60; lean_object* x_61; lean_object* x_62;
|
||||
x_59 = lean_ctor_get(x_55, 1);
|
||||
lean_inc(x_59);
|
||||
lean_dec(x_55);
|
||||
lean_inc(x_26);
|
||||
x_60 = lean_alloc_ctor(2, 1, 0);
|
||||
lean_ctor_set(x_60, 0, x_26);
|
||||
x_61 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEqAux___spec__1(x_54, x_60, x_12, x_13, x_14, x_15, x_59);
|
||||
x_62 = lean_ctor_get(x_61, 1);
|
||||
lean_inc(x_62);
|
||||
lean_dec(x_61);
|
||||
x_27 = x_62;
|
||||
goto block_47;
|
||||
}
|
||||
}
|
||||
block_47:
|
||||
{
|
||||
lean_object* x_28;
|
||||
lean_inc(x_15);
|
||||
lean_inc(x_14);
|
||||
lean_inc(x_13);
|
||||
lean_inc(x_12);
|
||||
lean_inc(x_26);
|
||||
x_28 = l_Lean_Meta_check(x_26, x_12, x_13, x_14, x_15, x_27);
|
||||
if (lean_obj_tag(x_28) == 0)
|
||||
x_27 = l_Lean_Meta_check(x_26, x_12, x_13, x_14, x_15, x_21);
|
||||
if (lean_obj_tag(x_27) == 0)
|
||||
{
|
||||
lean_object* x_29; lean_object* x_30; lean_object* x_31; uint8_t x_32;
|
||||
x_29 = lean_ctor_get(x_28, 1);
|
||||
lean_inc(x_29);
|
||||
lean_dec(x_28);
|
||||
lean_object* x_28; lean_object* x_29; lean_object* x_30; uint8_t x_31;
|
||||
x_28 = lean_ctor_get(x_27, 1);
|
||||
lean_inc(x_28);
|
||||
lean_dec(x_27);
|
||||
lean_inc(x_15);
|
||||
lean_inc(x_14);
|
||||
lean_inc(x_13);
|
||||
lean_inc(x_12);
|
||||
lean_inc(x_26);
|
||||
x_30 = l_Lean_Meta_isTypeCorrect(x_26, x_12, x_13, x_14, x_15, x_29);
|
||||
x_31 = lean_ctor_get(x_30, 0);
|
||||
lean_inc(x_31);
|
||||
x_32 = lean_unbox(x_31);
|
||||
lean_dec(x_31);
|
||||
if (x_32 == 0)
|
||||
x_29 = l_Lean_Meta_isTypeCorrect(x_26, x_12, x_13, x_14, x_15, x_28);
|
||||
x_30 = lean_ctor_get(x_29, 0);
|
||||
lean_inc(x_30);
|
||||
x_31 = lean_unbox(x_30);
|
||||
lean_dec(x_30);
|
||||
if (x_31 == 0)
|
||||
{
|
||||
lean_object* x_33; lean_object* x_34; lean_object* x_35; uint8_t x_36;
|
||||
lean_object* x_32; lean_object* x_33; lean_object* x_34; uint8_t x_35;
|
||||
lean_dec(x_26);
|
||||
lean_dec(x_20);
|
||||
lean_dec(x_11);
|
||||
|
|
@ -25141,48 +25083,48 @@ lean_dec(x_6);
|
|||
lean_dec(x_5);
|
||||
lean_dec(x_4);
|
||||
lean_dec(x_3);
|
||||
x_33 = lean_ctor_get(x_30, 1);
|
||||
lean_inc(x_33);
|
||||
lean_dec(x_30);
|
||||
x_34 = l_Lean_Meta_lambdaTelescope___at_Lean_Meta_MatcherApp_addArg___spec__2___at_Lean_Meta_MatcherApp_addArg___spec__3___lambda__2___closed__3;
|
||||
x_35 = l_Lean_throwError___at_Lean_Meta_addDefaultInstance___spec__1(x_34, x_12, x_13, x_14, x_15, x_33);
|
||||
x_32 = lean_ctor_get(x_29, 1);
|
||||
lean_inc(x_32);
|
||||
lean_dec(x_29);
|
||||
x_33 = l_Lean_Meta_lambdaTelescope___at_Lean_Meta_MatcherApp_addArg___spec__2___at_Lean_Meta_MatcherApp_addArg___spec__3___lambda__2___closed__3;
|
||||
x_34 = l_Lean_throwError___at_Lean_Meta_addDefaultInstance___spec__1(x_33, x_12, x_13, x_14, x_15, x_32);
|
||||
lean_dec(x_15);
|
||||
lean_dec(x_14);
|
||||
lean_dec(x_13);
|
||||
lean_dec(x_12);
|
||||
x_36 = !lean_is_exclusive(x_35);
|
||||
if (x_36 == 0)
|
||||
x_35 = !lean_is_exclusive(x_34);
|
||||
if (x_35 == 0)
|
||||
{
|
||||
return x_35;
|
||||
return x_34;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_37; lean_object* x_38; lean_object* x_39;
|
||||
x_37 = lean_ctor_get(x_35, 0);
|
||||
x_38 = lean_ctor_get(x_35, 1);
|
||||
lean_inc(x_38);
|
||||
lean_object* x_36; lean_object* x_37; lean_object* x_38;
|
||||
x_36 = lean_ctor_get(x_34, 0);
|
||||
x_37 = lean_ctor_get(x_34, 1);
|
||||
lean_inc(x_37);
|
||||
lean_dec(x_35);
|
||||
x_39 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_39, 0, x_37);
|
||||
lean_ctor_set(x_39, 1, x_38);
|
||||
return x_39;
|
||||
lean_inc(x_36);
|
||||
lean_dec(x_34);
|
||||
x_38 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_38, 0, x_36);
|
||||
lean_ctor_set(x_38, 1, x_37);
|
||||
return x_38;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_40; lean_object* x_41; lean_object* x_42;
|
||||
x_40 = lean_ctor_get(x_30, 1);
|
||||
lean_inc(x_40);
|
||||
lean_dec(x_30);
|
||||
x_41 = lean_box(0);
|
||||
x_42 = l_Lean_Meta_lambdaTelescope___at_Lean_Meta_MatcherApp_addArg___spec__2___at_Lean_Meta_MatcherApp_addArg___spec__3___lambda__1(x_26, x_6, x_7, x_8, x_9, x_3, x_11, x_10, x_4, x_20, x_5, x_41, x_12, x_13, x_14, x_15, x_40);
|
||||
return x_42;
|
||||
lean_object* x_39; lean_object* x_40; lean_object* x_41;
|
||||
x_39 = lean_ctor_get(x_29, 1);
|
||||
lean_inc(x_39);
|
||||
lean_dec(x_29);
|
||||
x_40 = lean_box(0);
|
||||
x_41 = l_Lean_Meta_lambdaTelescope___at_Lean_Meta_MatcherApp_addArg___spec__2___at_Lean_Meta_MatcherApp_addArg___spec__3___lambda__1(x_26, x_6, x_7, x_8, x_9, x_3, x_11, x_10, x_4, x_20, x_5, x_40, x_12, x_13, x_14, x_15, x_39);
|
||||
return x_41;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
uint8_t x_43;
|
||||
uint8_t x_42;
|
||||
lean_dec(x_26);
|
||||
lean_dec(x_20);
|
||||
lean_dec(x_15);
|
||||
|
|
@ -25197,30 +25139,29 @@ lean_dec(x_6);
|
|||
lean_dec(x_5);
|
||||
lean_dec(x_4);
|
||||
lean_dec(x_3);
|
||||
x_43 = !lean_is_exclusive(x_28);
|
||||
if (x_43 == 0)
|
||||
x_42 = !lean_is_exclusive(x_27);
|
||||
if (x_42 == 0)
|
||||
{
|
||||
return x_28;
|
||||
return x_27;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_44; lean_object* x_45; lean_object* x_46;
|
||||
x_44 = lean_ctor_get(x_28, 0);
|
||||
x_45 = lean_ctor_get(x_28, 1);
|
||||
lean_inc(x_45);
|
||||
lean_object* x_43; lean_object* x_44; lean_object* x_45;
|
||||
x_43 = lean_ctor_get(x_27, 0);
|
||||
x_44 = lean_ctor_get(x_27, 1);
|
||||
lean_inc(x_44);
|
||||
lean_dec(x_28);
|
||||
x_46 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_46, 0, x_44);
|
||||
lean_ctor_set(x_46, 1, x_45);
|
||||
return x_46;
|
||||
}
|
||||
lean_inc(x_43);
|
||||
lean_dec(x_27);
|
||||
x_45 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_45, 0, x_43);
|
||||
lean_ctor_set(x_45, 1, x_44);
|
||||
return x_45;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
uint8_t x_63;
|
||||
uint8_t x_46;
|
||||
lean_dec(x_15);
|
||||
lean_dec(x_14);
|
||||
lean_dec(x_13);
|
||||
|
|
@ -25233,23 +25174,23 @@ lean_dec(x_6);
|
|||
lean_dec(x_5);
|
||||
lean_dec(x_4);
|
||||
lean_dec(x_3);
|
||||
x_63 = !lean_is_exclusive(x_19);
|
||||
if (x_63 == 0)
|
||||
x_46 = !lean_is_exclusive(x_19);
|
||||
if (x_46 == 0)
|
||||
{
|
||||
return x_19;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_64; lean_object* x_65; lean_object* x_66;
|
||||
x_64 = lean_ctor_get(x_19, 0);
|
||||
x_65 = lean_ctor_get(x_19, 1);
|
||||
lean_inc(x_65);
|
||||
lean_inc(x_64);
|
||||
lean_object* x_47; lean_object* x_48; lean_object* x_49;
|
||||
x_47 = lean_ctor_get(x_19, 0);
|
||||
x_48 = lean_ctor_get(x_19, 1);
|
||||
lean_inc(x_48);
|
||||
lean_inc(x_47);
|
||||
lean_dec(x_19);
|
||||
x_66 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_66, 0, x_64);
|
||||
lean_ctor_set(x_66, 1, x_65);
|
||||
return x_66;
|
||||
x_49 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_49, 0, x_47);
|
||||
lean_ctor_set(x_49, 1, x_48);
|
||||
return x_49;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -25656,7 +25597,7 @@ lean_dec(x_5);
|
|||
return x_11;
|
||||
}
|
||||
}
|
||||
lean_object* l_Lean_Meta_initFn____x40_Lean_Meta_Match_Match___hyg_7302_(lean_object* x_1) {
|
||||
lean_object* l_Lean_Meta_initFn____x40_Lean_Meta_Match_Match___hyg_7283_(lean_object* x_1) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_2; lean_object* x_3;
|
||||
|
|
@ -26040,7 +25981,7 @@ l_Lean_Meta_lambdaTelescope___at_Lean_Meta_MatcherApp_addArg___spec__2___at_Lean
|
|||
lean_mark_persistent(l_Lean_Meta_lambdaTelescope___at_Lean_Meta_MatcherApp_addArg___spec__2___at_Lean_Meta_MatcherApp_addArg___spec__3___lambda__4___closed__1);
|
||||
l_Lean_Meta_lambdaTelescope___at_Lean_Meta_MatcherApp_addArg___spec__2___at_Lean_Meta_MatcherApp_addArg___spec__3___lambda__4___closed__2 = _init_l_Lean_Meta_lambdaTelescope___at_Lean_Meta_MatcherApp_addArg___spec__2___at_Lean_Meta_MatcherApp_addArg___spec__3___lambda__4___closed__2();
|
||||
lean_mark_persistent(l_Lean_Meta_lambdaTelescope___at_Lean_Meta_MatcherApp_addArg___spec__2___at_Lean_Meta_MatcherApp_addArg___spec__3___lambda__4___closed__2);
|
||||
res = l_Lean_Meta_initFn____x40_Lean_Meta_Match_Match___hyg_7302_(lean_io_mk_world());
|
||||
res = l_Lean_Meta_initFn____x40_Lean_Meta_Match_Match___hyg_7283_(lean_io_mk_world());
|
||||
if (lean_io_result_is_error(res)) return res;
|
||||
lean_dec_ref(res);
|
||||
return lean_io_result_mk_ok(lean_box(0));
|
||||
|
|
|
|||
128
stage0/stdlib/Lean/Meta/Tactic/Injection.c
generated
128
stage0/stdlib/Lean/Meta/Tactic/Injection.c
generated
|
|
@ -18,14 +18,12 @@ lean_object* l_Lean_Meta_injectionCore___closed__1;
|
|||
lean_object* l_Lean_Meta_injectionCore_match__2___rarg(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Expr_mvarId_x21(lean_object*);
|
||||
lean_object* l_Lean_Meta_withMVarContext___at_Lean_Meta_admit___spec__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_stringToMessageData(lean_object*);
|
||||
extern lean_object* l_myMacro____x40_Init_Notation___hyg_7577____closed__4;
|
||||
lean_object* l_Std_Range_forIn_loop___at_Lean_Meta_getCtorNumPropFields___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_LocalDecl_userName(lean_object*);
|
||||
lean_object* lean_name_mk_string(lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Meta_injectionCore___lambda__1___closed__6;
|
||||
lean_object* l_Lean_Meta_injectionCore_match__2(lean_object*);
|
||||
lean_object* l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_isLevelDefEqAux___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
extern lean_object* l_Array_empty___closed__1;
|
||||
lean_object* l_Lean_Meta_getCtorNumPropFields(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l___private_Lean_Meta_Tactic_Injection_0__Lean_Meta_heqToEq_match__2(lean_object*);
|
||||
|
|
@ -47,7 +45,6 @@ lean_object* l___private_Lean_Meta_Tactic_Injection_0__Lean_Meta_heqToEq___lambd
|
|||
uint8_t lean_nat_dec_eq(lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Meta_getMVarType(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* lean_nat_sub(lean_object*, lean_object*);
|
||||
lean_object* l_Lean_addTrace___at_Lean_Meta_isLevelDefEqAux___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Meta_tryClear(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Expr_headBeta(lean_object*);
|
||||
lean_object* l_Lean_Meta_injection_match__1(lean_object*);
|
||||
|
|
@ -59,12 +56,9 @@ lean_object* l_Lean_Meta_injectionIntro_match__1___rarg(lean_object*, lean_objec
|
|||
lean_object* l___private_Lean_Meta_Tactic_Injection_0__Lean_Meta_heqToEq_match__1___rarg(lean_object*, lean_object*);
|
||||
uint8_t l_Lean_Expr_isAppOfArity(lean_object*, lean_object*, lean_object*);
|
||||
extern lean_object* l_Lean_instInhabitedExpr;
|
||||
extern lean_object* l_Lean_KernelException_toMessageData___closed__15;
|
||||
lean_object* l_Lean_Meta_whnf(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_mkFVar(lean_object*);
|
||||
lean_object* l_Lean_Meta_injection___closed__1;
|
||||
lean_object* l_Lean_LocalDecl_type(lean_object*);
|
||||
lean_object* l_Lean_Meta_injection___closed__2;
|
||||
lean_object* l_Lean_Meta_throwTacticEx___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Meta_injectionCore___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Meta_assignExprMVar(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
|
|
@ -74,7 +68,6 @@ lean_object* l_Lean_Meta_injection___boxed(lean_object*, lean_object*, lean_obje
|
|||
uint8_t lean_nat_dec_le(lean_object*, lean_object*);
|
||||
lean_object* l_Lean_mkApp(lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Meta_forallTelescopeReducing___at_Lean_Meta_getParamNames___spec__4___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
extern lean_object* l_Lean_Meta_initFn____x40_Lean_Meta_Basic___hyg_556____closed__4;
|
||||
lean_object* l___private_Lean_Meta_Tactic_Injection_0__Lean_Meta_heqToEq_match__1(lean_object*);
|
||||
lean_object* l_Lean_Meta_injection_match__1___rarg(lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Meta_inferType(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
|
|
@ -2517,23 +2510,6 @@ x_2 = lean_alloc_closure((void*)(l_Lean_Meta_injection_match__1___rarg), 3, 0);
|
|||
return x_2;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l_Lean_Meta_injection___closed__1() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1;
|
||||
x_1 = lean_mk_string("before injectionIntro\n");
|
||||
return x_1;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l_Lean_Meta_injection___closed__2() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2;
|
||||
x_1 = l_Lean_Meta_injection___closed__1;
|
||||
x_2 = l_Lean_stringToMessageData(x_1);
|
||||
return x_2;
|
||||
}
|
||||
}
|
||||
lean_object* l_Lean_Meta_injection(lean_object* x_1, lean_object* x_2, lean_object* x_3, uint8_t x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) {
|
||||
_start:
|
||||
{
|
||||
|
|
@ -2581,7 +2557,7 @@ return x_17;
|
|||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_18; lean_object* x_19; lean_object* x_20; uint8_t x_21; lean_object* x_22; lean_object* x_36; lean_object* x_37; lean_object* x_38; uint8_t x_39;
|
||||
lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22;
|
||||
x_18 = lean_ctor_get(x_10, 1);
|
||||
lean_inc(x_18);
|
||||
lean_dec(x_10);
|
||||
|
|
@ -2590,104 +2566,36 @@ lean_inc(x_19);
|
|||
x_20 = lean_ctor_get(x_11, 1);
|
||||
lean_inc(x_20);
|
||||
lean_dec(x_11);
|
||||
x_36 = lean_st_ref_get(x_8, x_18);
|
||||
x_37 = lean_ctor_get(x_36, 0);
|
||||
lean_inc(x_37);
|
||||
x_38 = lean_ctor_get(x_37, 3);
|
||||
lean_inc(x_38);
|
||||
lean_dec(x_37);
|
||||
x_39 = lean_ctor_get_uint8(x_38, sizeof(void*)*1);
|
||||
lean_dec(x_38);
|
||||
if (x_39 == 0)
|
||||
{
|
||||
lean_object* x_40; uint8_t x_41;
|
||||
x_40 = lean_ctor_get(x_36, 1);
|
||||
lean_inc(x_40);
|
||||
lean_dec(x_36);
|
||||
x_41 = 0;
|
||||
x_21 = x_41;
|
||||
x_22 = x_40;
|
||||
goto block_35;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_42; lean_object* x_43; lean_object* x_44; lean_object* x_45; lean_object* x_46; uint8_t x_47;
|
||||
x_42 = lean_ctor_get(x_36, 1);
|
||||
lean_inc(x_42);
|
||||
lean_dec(x_36);
|
||||
x_43 = l_Lean_Meta_initFn____x40_Lean_Meta_Basic___hyg_556____closed__4;
|
||||
x_44 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_isLevelDefEqAux___spec__2(x_43, x_5, x_6, x_7, x_8, x_42);
|
||||
x_45 = lean_ctor_get(x_44, 0);
|
||||
lean_inc(x_45);
|
||||
x_46 = lean_ctor_get(x_44, 1);
|
||||
lean_inc(x_46);
|
||||
lean_dec(x_44);
|
||||
x_47 = lean_unbox(x_45);
|
||||
lean_dec(x_45);
|
||||
x_21 = x_47;
|
||||
x_22 = x_46;
|
||||
goto block_35;
|
||||
}
|
||||
block_35:
|
||||
{
|
||||
if (x_21 == 0)
|
||||
{
|
||||
lean_object* x_23; lean_object* x_24;
|
||||
x_23 = l_Array_empty___closed__1;
|
||||
x_24 = l_Lean_Meta_injectionIntro(x_20, x_19, x_23, x_3, x_5, x_6, x_7, x_8, x_22);
|
||||
return x_24;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34;
|
||||
lean_inc(x_19);
|
||||
x_25 = lean_alloc_ctor(5, 1, 0);
|
||||
lean_ctor_set(x_25, 0, x_19);
|
||||
x_26 = l_Lean_Meta_injection___closed__2;
|
||||
x_27 = lean_alloc_ctor(10, 2, 0);
|
||||
lean_ctor_set(x_27, 0, x_26);
|
||||
lean_ctor_set(x_27, 1, x_25);
|
||||
x_28 = l_Lean_KernelException_toMessageData___closed__15;
|
||||
x_29 = lean_alloc_ctor(10, 2, 0);
|
||||
lean_ctor_set(x_29, 0, x_27);
|
||||
lean_ctor_set(x_29, 1, x_28);
|
||||
x_30 = l_Lean_Meta_initFn____x40_Lean_Meta_Basic___hyg_556____closed__4;
|
||||
x_31 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEqAux___spec__1(x_30, x_29, x_5, x_6, x_7, x_8, x_22);
|
||||
x_32 = lean_ctor_get(x_31, 1);
|
||||
lean_inc(x_32);
|
||||
lean_dec(x_31);
|
||||
x_33 = l_Array_empty___closed__1;
|
||||
x_34 = l_Lean_Meta_injectionIntro(x_20, x_19, x_33, x_3, x_5, x_6, x_7, x_8, x_32);
|
||||
return x_34;
|
||||
}
|
||||
}
|
||||
x_21 = l_Array_empty___closed__1;
|
||||
x_22 = l_Lean_Meta_injectionIntro(x_20, x_19, x_21, x_3, x_5, x_6, x_7, x_8, x_18);
|
||||
return x_22;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
uint8_t x_48;
|
||||
uint8_t x_23;
|
||||
lean_dec(x_8);
|
||||
lean_dec(x_7);
|
||||
lean_dec(x_6);
|
||||
lean_dec(x_5);
|
||||
lean_dec(x_3);
|
||||
x_48 = !lean_is_exclusive(x_10);
|
||||
if (x_48 == 0)
|
||||
x_23 = !lean_is_exclusive(x_10);
|
||||
if (x_23 == 0)
|
||||
{
|
||||
return x_10;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_49; lean_object* x_50; lean_object* x_51;
|
||||
x_49 = lean_ctor_get(x_10, 0);
|
||||
x_50 = lean_ctor_get(x_10, 1);
|
||||
lean_inc(x_50);
|
||||
lean_inc(x_49);
|
||||
lean_object* x_24; lean_object* x_25; lean_object* x_26;
|
||||
x_24 = lean_ctor_get(x_10, 0);
|
||||
x_25 = lean_ctor_get(x_10, 1);
|
||||
lean_inc(x_25);
|
||||
lean_inc(x_24);
|
||||
lean_dec(x_10);
|
||||
x_51 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_51, 0, x_49);
|
||||
lean_ctor_set(x_51, 1, x_50);
|
||||
return x_51;
|
||||
x_26 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_26, 0, x_24);
|
||||
lean_ctor_set(x_26, 1, x_25);
|
||||
return x_26;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -2741,10 +2649,6 @@ l_Lean_Meta_injectionCore___lambda__1___closed__6 = _init_l_Lean_Meta_injectionC
|
|||
lean_mark_persistent(l_Lean_Meta_injectionCore___lambda__1___closed__6);
|
||||
l_Lean_Meta_injectionCore___closed__1 = _init_l_Lean_Meta_injectionCore___closed__1();
|
||||
lean_mark_persistent(l_Lean_Meta_injectionCore___closed__1);
|
||||
l_Lean_Meta_injection___closed__1 = _init_l_Lean_Meta_injection___closed__1();
|
||||
lean_mark_persistent(l_Lean_Meta_injection___closed__1);
|
||||
l_Lean_Meta_injection___closed__2 = _init_l_Lean_Meta_injection___closed__2();
|
||||
lean_mark_persistent(l_Lean_Meta_injection___closed__2);
|
||||
return lean_io_result_mk_ok(lean_box(0));
|
||||
}
|
||||
#ifdef __cplusplus
|
||||
|
|
|
|||
1776
stage0/stdlib/Lean/Meta/Tactic/Simp/Main.c
generated
1776
stage0/stdlib/Lean/Meta/Tactic/Simp/Main.c
generated
File diff suppressed because it is too large
Load diff
165
stage0/stdlib/Lean/Meta/UnificationHint.c
generated
165
stage0/stdlib/Lean/Meta/UnificationHint.c
generated
|
|
@ -55,6 +55,7 @@ extern lean_object* l_instReprProd___rarg___closed__2;
|
|||
lean_object* l_Std_PersistentHashMap_findAux___at_Lean_Meta_UnificationHints_add___spec__3___boxed(lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Array_forInUnsafe_loop___at_Lean_Meta_tryUnificationHints_tryCandidate___spec__3(lean_object*, lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Meta_isExprDefEqAux(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Std_PersistentArray_append___rarg(lean_object*, lean_object*);
|
||||
lean_object* lean_st_ref_get(lean_object*, lean_object*);
|
||||
lean_object* l_Std_PersistentHashMap_foldlM___at_Lean_Meta_instToFormatUnificationHints___spec__10(lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Meta_tryUnificationHints_tryCandidate_match__1___rarg(lean_object*, lean_object*, lean_object*);
|
||||
|
|
@ -94,6 +95,7 @@ lean_object* l___private_Lean_Meta_DiscrTree_0__Lean_Meta_DiscrTree_insertVal___
|
|||
lean_object* l_Std_PersistentHashMap_find_x3f___at_Lean_Meta_UnificationHints_add___spec__2(lean_object*, lean_object*);
|
||||
lean_object* l_Std_PersistentHashMap_insertAux_traverse___at_Lean_Meta_UnificationHints_add___spec__7___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Meta_initFn____x40_Lean_Meta_UnificationHint___hyg_597____closed__3;
|
||||
lean_object* l_Lean_Meta_getPostponed___rarg(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* lean_nat_add(lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Meta_unificationHintExtension___lambda__1(lean_object*);
|
||||
lean_object* l_Lean_Meta_UnificationHints_add(lean_object*, lean_object*);
|
||||
|
|
@ -287,6 +289,7 @@ extern lean_object* l_Lean_Meta_withMCtx___at___private_Lean_Meta_SynthInstance_
|
|||
lean_object* l_Lean_Meta_tryUnificationHints_tryCandidate_match__2(lean_object*);
|
||||
lean_object* l_Lean_Meta_unificationHintExtension___lambda__1___boxed(lean_object*);
|
||||
lean_object* l_Lean_Meta_tryUnificationHints___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Meta_setPostponed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Array_insertAt___rarg(lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Array_forInUnsafe_loop___at_Lean_Meta_tryUnificationHints_tryCandidate___spec__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
size_t l_Lean_Meta_DiscrTree_Key_hash(lean_object*);
|
||||
|
|
@ -6637,64 +6640,75 @@ return x_65;
|
|||
}
|
||||
else
|
||||
{
|
||||
uint8_t x_66;
|
||||
lean_dec(x_29);
|
||||
lean_object* x_66; lean_object* x_67; lean_object* x_68; lean_object* x_69; lean_object* x_70; lean_object* x_71; uint8_t x_72;
|
||||
lean_dec(x_27);
|
||||
lean_dec(x_21);
|
||||
x_66 = lean_ctor_get(x_53, 1);
|
||||
lean_inc(x_66);
|
||||
lean_dec(x_53);
|
||||
x_67 = l_Lean_Meta_getPostponed___rarg(x_8, x_9, x_10, x_66);
|
||||
x_68 = lean_ctor_get(x_67, 0);
|
||||
lean_inc(x_68);
|
||||
x_69 = lean_ctor_get(x_67, 1);
|
||||
lean_inc(x_69);
|
||||
lean_dec(x_67);
|
||||
x_70 = l_Std_PersistentArray_append___rarg(x_29, x_68);
|
||||
lean_dec(x_68);
|
||||
x_71 = l_Lean_Meta_setPostponed(x_70, x_7, x_8, x_9, x_10, x_69);
|
||||
lean_dec(x_10);
|
||||
lean_dec(x_9);
|
||||
lean_dec(x_8);
|
||||
lean_dec(x_7);
|
||||
x_66 = !lean_is_exclusive(x_53);
|
||||
if (x_66 == 0)
|
||||
x_72 = !lean_is_exclusive(x_71);
|
||||
if (x_72 == 0)
|
||||
{
|
||||
lean_object* x_67; uint8_t x_68; lean_object* x_69;
|
||||
x_67 = lean_ctor_get(x_53, 0);
|
||||
lean_dec(x_67);
|
||||
x_68 = 1;
|
||||
x_69 = lean_box(x_68);
|
||||
lean_ctor_set(x_53, 0, x_69);
|
||||
return x_53;
|
||||
lean_object* x_73; uint8_t x_74; lean_object* x_75;
|
||||
x_73 = lean_ctor_get(x_71, 0);
|
||||
lean_dec(x_73);
|
||||
x_74 = 1;
|
||||
x_75 = lean_box(x_74);
|
||||
lean_ctor_set(x_71, 0, x_75);
|
||||
return x_71;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_70; uint8_t x_71; lean_object* x_72; lean_object* x_73;
|
||||
x_70 = lean_ctor_get(x_53, 1);
|
||||
lean_inc(x_70);
|
||||
lean_dec(x_53);
|
||||
x_71 = 1;
|
||||
x_72 = lean_box(x_71);
|
||||
x_73 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_73, 0, x_72);
|
||||
lean_ctor_set(x_73, 1, x_70);
|
||||
return x_73;
|
||||
lean_object* x_76; uint8_t x_77; lean_object* x_78; lean_object* x_79;
|
||||
x_76 = lean_ctor_get(x_71, 1);
|
||||
lean_inc(x_76);
|
||||
lean_dec(x_71);
|
||||
x_77 = 1;
|
||||
x_78 = lean_box(x_77);
|
||||
x_79 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_79, 0, x_78);
|
||||
lean_ctor_set(x_79, 1, x_76);
|
||||
return x_79;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_74; lean_object* x_75;
|
||||
x_74 = lean_ctor_get(x_53, 0);
|
||||
lean_inc(x_74);
|
||||
x_75 = lean_ctor_get(x_53, 1);
|
||||
lean_inc(x_75);
|
||||
lean_object* x_80; lean_object* x_81;
|
||||
x_80 = lean_ctor_get(x_53, 0);
|
||||
lean_inc(x_80);
|
||||
x_81 = lean_ctor_get(x_53, 1);
|
||||
lean_inc(x_81);
|
||||
lean_dec(x_53);
|
||||
x_31 = x_74;
|
||||
x_32 = x_75;
|
||||
x_31 = x_80;
|
||||
x_32 = x_81;
|
||||
goto block_38;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_76; lean_object* x_77;
|
||||
x_76 = lean_ctor_get(x_39, 0);
|
||||
lean_inc(x_76);
|
||||
x_77 = lean_ctor_get(x_39, 1);
|
||||
lean_inc(x_77);
|
||||
lean_object* x_82; lean_object* x_83;
|
||||
x_82 = lean_ctor_get(x_39, 0);
|
||||
lean_inc(x_82);
|
||||
x_83 = lean_ctor_get(x_39, 1);
|
||||
lean_inc(x_83);
|
||||
lean_dec(x_39);
|
||||
x_31 = x_76;
|
||||
x_32 = x_77;
|
||||
x_31 = x_82;
|
||||
x_32 = x_83;
|
||||
goto block_38;
|
||||
}
|
||||
block_38:
|
||||
|
|
@ -6889,64 +6903,75 @@ return x_65;
|
|||
}
|
||||
else
|
||||
{
|
||||
uint8_t x_66;
|
||||
lean_dec(x_29);
|
||||
lean_object* x_66; lean_object* x_67; lean_object* x_68; lean_object* x_69; lean_object* x_70; lean_object* x_71; uint8_t x_72;
|
||||
lean_dec(x_27);
|
||||
lean_dec(x_21);
|
||||
x_66 = lean_ctor_get(x_53, 1);
|
||||
lean_inc(x_66);
|
||||
lean_dec(x_53);
|
||||
x_67 = l_Lean_Meta_getPostponed___rarg(x_8, x_9, x_10, x_66);
|
||||
x_68 = lean_ctor_get(x_67, 0);
|
||||
lean_inc(x_68);
|
||||
x_69 = lean_ctor_get(x_67, 1);
|
||||
lean_inc(x_69);
|
||||
lean_dec(x_67);
|
||||
x_70 = l_Std_PersistentArray_append___rarg(x_29, x_68);
|
||||
lean_dec(x_68);
|
||||
x_71 = l_Lean_Meta_setPostponed(x_70, x_7, x_8, x_9, x_10, x_69);
|
||||
lean_dec(x_10);
|
||||
lean_dec(x_9);
|
||||
lean_dec(x_8);
|
||||
lean_dec(x_7);
|
||||
x_66 = !lean_is_exclusive(x_53);
|
||||
if (x_66 == 0)
|
||||
x_72 = !lean_is_exclusive(x_71);
|
||||
if (x_72 == 0)
|
||||
{
|
||||
lean_object* x_67; uint8_t x_68; lean_object* x_69;
|
||||
x_67 = lean_ctor_get(x_53, 0);
|
||||
lean_dec(x_67);
|
||||
x_68 = 1;
|
||||
x_69 = lean_box(x_68);
|
||||
lean_ctor_set(x_53, 0, x_69);
|
||||
return x_53;
|
||||
lean_object* x_73; uint8_t x_74; lean_object* x_75;
|
||||
x_73 = lean_ctor_get(x_71, 0);
|
||||
lean_dec(x_73);
|
||||
x_74 = 1;
|
||||
x_75 = lean_box(x_74);
|
||||
lean_ctor_set(x_71, 0, x_75);
|
||||
return x_71;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_70; uint8_t x_71; lean_object* x_72; lean_object* x_73;
|
||||
x_70 = lean_ctor_get(x_53, 1);
|
||||
lean_inc(x_70);
|
||||
lean_dec(x_53);
|
||||
x_71 = 1;
|
||||
x_72 = lean_box(x_71);
|
||||
x_73 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_73, 0, x_72);
|
||||
lean_ctor_set(x_73, 1, x_70);
|
||||
return x_73;
|
||||
lean_object* x_76; uint8_t x_77; lean_object* x_78; lean_object* x_79;
|
||||
x_76 = lean_ctor_get(x_71, 1);
|
||||
lean_inc(x_76);
|
||||
lean_dec(x_71);
|
||||
x_77 = 1;
|
||||
x_78 = lean_box(x_77);
|
||||
x_79 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_79, 0, x_78);
|
||||
lean_ctor_set(x_79, 1, x_76);
|
||||
return x_79;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_74; lean_object* x_75;
|
||||
x_74 = lean_ctor_get(x_53, 0);
|
||||
lean_inc(x_74);
|
||||
x_75 = lean_ctor_get(x_53, 1);
|
||||
lean_inc(x_75);
|
||||
lean_object* x_80; lean_object* x_81;
|
||||
x_80 = lean_ctor_get(x_53, 0);
|
||||
lean_inc(x_80);
|
||||
x_81 = lean_ctor_get(x_53, 1);
|
||||
lean_inc(x_81);
|
||||
lean_dec(x_53);
|
||||
x_31 = x_74;
|
||||
x_32 = x_75;
|
||||
x_31 = x_80;
|
||||
x_32 = x_81;
|
||||
goto block_38;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_76; lean_object* x_77;
|
||||
x_76 = lean_ctor_get(x_39, 0);
|
||||
lean_inc(x_76);
|
||||
x_77 = lean_ctor_get(x_39, 1);
|
||||
lean_inc(x_77);
|
||||
lean_object* x_82; lean_object* x_83;
|
||||
x_82 = lean_ctor_get(x_39, 0);
|
||||
lean_inc(x_82);
|
||||
x_83 = lean_ctor_get(x_39, 1);
|
||||
lean_inc(x_83);
|
||||
lean_dec(x_39);
|
||||
x_31 = x_76;
|
||||
x_32 = x_77;
|
||||
x_31 = x_82;
|
||||
x_32 = x_83;
|
||||
goto block_38;
|
||||
}
|
||||
block_38:
|
||||
|
|
|
|||
4
stage0/stdlib/Lean/Parser/Command.c
generated
4
stage0/stdlib/Lean/Parser/Command.c
generated
|
|
@ -2309,7 +2309,6 @@ lean_object* l_Lean_Parser_Command_check__failure_parenthesizer___closed__2;
|
|||
lean_object* l_Lean_Parser_Command_deriving___elambda__1___closed__1;
|
||||
lean_object* l_Lean_Parser_Command_check___closed__3;
|
||||
lean_object* l_Lean_Parser_Command_mutual_formatter___closed__9;
|
||||
extern lean_object* l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2956____closed__7;
|
||||
lean_object* l_Lean_Parser_Command_universes___elambda__1___closed__1;
|
||||
lean_object* l_Lean_Parser_Command_structInstBinder___elambda__1___closed__10;
|
||||
lean_object* l_Lean_Parser_Command_synth___closed__5;
|
||||
|
|
@ -2322,6 +2321,7 @@ lean_object* l_Lean_Parser_Command_noncomputable_formatter___closed__3;
|
|||
lean_object* l_Lean_Parser_Command_declModifiersT_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Parser_Command_openOnly___closed__2;
|
||||
lean_object* l_Lean_Parser_Command_structure___elambda__1___closed__23;
|
||||
extern lean_object* l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2958____closed__7;
|
||||
lean_object* l_Lean_Parser_Command_partial_parenthesizer___closed__1;
|
||||
lean_object* l_Lean_Parser_Command_structureTk___elambda__1___closed__4;
|
||||
lean_object* l_Lean_Parser_Command_ctor_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
|
|
@ -18328,7 +18328,7 @@ static lean_object* _init_l_Lean_Parser_Command_structFields_parenthesizer___clo
|
|||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3;
|
||||
x_1 = l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2956____closed__7;
|
||||
x_1 = l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2958____closed__7;
|
||||
x_2 = l_Lean_Parser_Command_structFields_parenthesizer___closed__8;
|
||||
x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 2);
|
||||
lean_closure_set(x_3, 0, x_1);
|
||||
|
|
|
|||
10
stage0/stdlib/Lean/Parser/Do.c
generated
10
stage0/stdlib/Lean/Parser/Do.c
generated
|
|
@ -1278,7 +1278,6 @@ lean_object* l_Lean_Parser_Term_letIdDeclNoBinders_parenthesizer___closed__3;
|
|||
lean_object* l_Lean_Parser_Term_doSeqItem___elambda__1___closed__12;
|
||||
lean_object* l_Lean_Parser_Term_notFollowedByRedefinedTermToken___elambda__1___closed__36;
|
||||
lean_object* l_Lean_Parser_Term_doDbgTrace___closed__5;
|
||||
extern lean_object* l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2956____closed__7;
|
||||
lean_object* l_Lean_Parser_Term_doElem_quot___elambda__1___closed__11;
|
||||
extern lean_object* l_Lean_Parser_Term_match_parenthesizer___closed__3;
|
||||
lean_object* l_Lean_Parser_Term_doIfCond_formatter___closed__4;
|
||||
|
|
@ -1288,6 +1287,7 @@ lean_object* l___regBuiltin_Lean_Parser_Term_termReturn_formatter___closed__1;
|
|||
lean_object* l_Lean_Parser_Term_doReturn_formatter___closed__7;
|
||||
lean_object* l_Lean_Parser_Term_doFor_formatter___closed__1;
|
||||
lean_object* l_Lean_Parser_Term_doNested_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
extern lean_object* l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2958____closed__7;
|
||||
lean_object* l_Lean_Parser_Term_doSeqBracketed___elambda__1___closed__3;
|
||||
lean_object* l_Lean_Parser_Term_doReassignArrow___closed__2;
|
||||
extern lean_object* l_Lean_Parser_Term_dbgTrace___elambda__1___closed__5;
|
||||
|
|
@ -1480,10 +1480,10 @@ lean_object* l___regBuiltin_Lean_Parser_Term_doBreak_parenthesizer(lean_object*)
|
|||
lean_object* l_Lean_Parser_Term_doFor___elambda__1___closed__10;
|
||||
lean_object* l_Lean_Parser_Term_doContinue_parenthesizer___closed__1;
|
||||
lean_object* l_Lean_Parser_Term_doIfLet_parenthesizer___closed__1;
|
||||
extern lean_object* l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2956____closed__5;
|
||||
lean_object* l___regBuiltin_Lean_Parser_Term_liftMethod_formatter___closed__1;
|
||||
lean_object* l_Lean_Parser_Term_doPatDecl___elambda__1___closed__2;
|
||||
lean_object* l_Lean_Parser_Term_liftMethod_formatter___closed__3;
|
||||
extern lean_object* l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2958____closed__5;
|
||||
lean_object* l_Lean_Parser_Term_doNested_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Parser_Term_doLetArrow___closed__4;
|
||||
lean_object* l_Lean_Parser_Term_doMatch___elambda__1___closed__7;
|
||||
|
|
@ -7143,7 +7143,7 @@ static lean_object* _init_l_Lean_Parser_Term_doPatDecl_parenthesizer___closed__5
|
|||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3;
|
||||
x_1 = l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2956____closed__5;
|
||||
x_1 = l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2958____closed__5;
|
||||
x_2 = l_Lean_Parser_Term_doPatDecl_parenthesizer___closed__4;
|
||||
x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 2);
|
||||
lean_closure_set(x_3, 0, x_1);
|
||||
|
|
@ -12425,7 +12425,7 @@ static lean_object* _init_l_Lean_Parser_Term_doIf_parenthesizer___closed__8() {
|
|||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3;
|
||||
x_1 = l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2956____closed__7;
|
||||
x_1 = l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2958____closed__7;
|
||||
x_2 = l_Lean_Parser_Term_doIf_parenthesizer___closed__7;
|
||||
x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 2);
|
||||
lean_closure_set(x_3, 0, x_1);
|
||||
|
|
@ -12447,7 +12447,7 @@ static lean_object* _init_l_Lean_Parser_Term_doIf_parenthesizer___closed__10() {
|
|||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3;
|
||||
x_1 = l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2956____closed__7;
|
||||
x_1 = l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2958____closed__7;
|
||||
x_2 = l_Lean_Parser_Term_doIf_parenthesizer___closed__2;
|
||||
x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 2);
|
||||
lean_closure_set(x_3, 0, x_1);
|
||||
|
|
|
|||
18
stage0/stdlib/Lean/Parser/Extra.c
generated
18
stage0/stdlib/Lean/Parser/Extra.c
generated
|
|
@ -445,7 +445,7 @@ lean_object* l_Std_Format_getIndent(lean_object*);
|
|||
lean_object* l_Lean_initFn____x40_Lean_Parser_Extra___hyg_938____closed__7;
|
||||
lean_object* l_Lean_Parser_notSymbol_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Parser_sepBy_formatter(lean_object*, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
extern lean_object* l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2956____closed__7;
|
||||
extern lean_object* l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2958____closed__7;
|
||||
lean_object* l_Lean_Parser_withAntiquotSpliceAndSuffix(lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Extra___hyg_634____closed__17;
|
||||
lean_object* l_Lean_Parser_leadingNode_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
|
|
@ -499,6 +499,7 @@ lean_object* l_Lean_ppLine_formatter___closed__1;
|
|||
lean_object* l_Lean_PrettyPrinter_Formatter_charLitNoAntiquot_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
extern lean_object* l_rawNatLit___closed__6;
|
||||
lean_object* l_Lean_Parser_withAntiquotSpliceAndSuffix_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
extern lean_object* l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2958____closed__3;
|
||||
lean_object* l_Lean_Parser_mkAntiquot(lean_object*, lean_object*, uint8_t);
|
||||
lean_object* l_Lean_PrettyPrinter_Parenthesizer_withPosition_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Parser_myMacro____x40_Lean_Parser_Extra___hyg_276____closed__4;
|
||||
|
|
@ -510,7 +511,6 @@ lean_object* l_Lean_Parser_ppGroup(lean_object*);
|
|||
extern lean_object* l_prec_x28___x29___closed__3;
|
||||
extern lean_object* l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_826____closed__11;
|
||||
lean_object* l_Lean_Parser_antiquotNestedExpr_parenthesizer___closed__4;
|
||||
extern lean_object* l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2956____closed__3;
|
||||
lean_object* l_Lean_Syntax_getArg(lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Parser_many_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Parser_myMacro____x40_Lean_Parser_Extra___hyg_276____closed__8;
|
||||
|
|
@ -1207,7 +1207,7 @@ static lean_object* _init_l_Lean_Parser_mkAntiquot_parenthesizer___rarg___closed
|
|||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3;
|
||||
x_1 = l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2956____closed__3;
|
||||
x_1 = l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2958____closed__3;
|
||||
x_2 = l_Lean_Parser_mkAntiquot_parenthesizer___rarg___closed__1;
|
||||
x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 2);
|
||||
lean_closure_set(x_3, 0, x_1);
|
||||
|
|
@ -1249,7 +1249,7 @@ static lean_object* _init_l_Lean_Parser_mkAntiquot_parenthesizer___rarg___closed
|
|||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3;
|
||||
x_1 = l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2956____closed__3;
|
||||
x_1 = l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2958____closed__3;
|
||||
x_2 = l_Lean_Parser_mkAntiquot_parenthesizer___rarg___closed__6;
|
||||
x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 2);
|
||||
lean_closure_set(x_3, 0, x_1);
|
||||
|
|
@ -1293,7 +1293,7 @@ static lean_object* _init_l_Lean_Parser_mkAntiquot_parenthesizer___rarg___closed
|
|||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3;
|
||||
x_1 = l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2956____closed__3;
|
||||
x_1 = l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2958____closed__3;
|
||||
x_2 = l_Lean_Parser_mkAntiquot_parenthesizer___rarg___closed__10;
|
||||
x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 2);
|
||||
lean_closure_set(x_3, 0, x_1);
|
||||
|
|
@ -1391,7 +1391,7 @@ static lean_object* _init_l_Lean_Parser_mkAntiquot_parenthesizer___rarg___closed
|
|||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3;
|
||||
x_1 = l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2956____closed__3;
|
||||
x_1 = l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2958____closed__3;
|
||||
x_2 = l_Lean_Parser_mkAntiquot_parenthesizer___rarg___closed__19;
|
||||
x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 2);
|
||||
lean_closure_set(x_3, 0, x_1);
|
||||
|
|
@ -1731,7 +1731,7 @@ lean_closure_set(x_15, 1, x_14);
|
|||
x_16 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 2);
|
||||
lean_closure_set(x_16, 0, x_13);
|
||||
lean_closure_set(x_16, 1, x_15);
|
||||
x_17 = l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2956____closed__3;
|
||||
x_17 = l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2958____closed__3;
|
||||
x_18 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 2);
|
||||
lean_closure_set(x_18, 0, x_17);
|
||||
lean_closure_set(x_18, 1, x_16);
|
||||
|
|
@ -3297,7 +3297,7 @@ lean_object* l_Lean_Parser_many1Indent_parenthesizer(lean_object* x_1, lean_obje
|
|||
_start:
|
||||
{
|
||||
lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10;
|
||||
x_7 = l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2956____closed__7;
|
||||
x_7 = l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2958____closed__7;
|
||||
x_8 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 2);
|
||||
lean_closure_set(x_8, 0, x_7);
|
||||
lean_closure_set(x_8, 1, x_1);
|
||||
|
|
@ -3387,7 +3387,7 @@ lean_object* l_Lean_Parser_manyIndent_parenthesizer(lean_object* x_1, lean_objec
|
|||
_start:
|
||||
{
|
||||
lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10;
|
||||
x_7 = l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2956____closed__7;
|
||||
x_7 = l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2958____closed__7;
|
||||
x_8 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 2);
|
||||
lean_closure_set(x_8, 0, x_7);
|
||||
lean_closure_set(x_8, 1, x_1);
|
||||
|
|
|
|||
12
stage0/stdlib/Lean/Parser/Syntax.c
generated
12
stage0/stdlib/Lean/Parser/Syntax.c
generated
|
|
@ -1366,6 +1366,7 @@ lean_object* l_Lean_Parser_Command_macro__rules___closed__3;
|
|||
lean_object* l_Lean_Parser_Command_syntaxCat___closed__4;
|
||||
lean_object* l___regBuiltin_Lean_Parser_Command_macro_formatter(lean_object*);
|
||||
lean_object* l_Lean_Parser_Term_prio_quot_formatter___closed__1;
|
||||
extern lean_object* l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2958____closed__3;
|
||||
lean_object* l_Lean_Parser_mkAntiquot(lean_object*, lean_object*, uint8_t);
|
||||
lean_object* l_Lean_Parser_Term_stx_quot___elambda__1___closed__1;
|
||||
extern lean_object* l_myMacro____x40_Init_Notation___hyg_1398____closed__2;
|
||||
|
|
@ -1386,7 +1387,6 @@ lean_object* l_Lean_Parser_Command_syntaxCat___elambda__1___closed__2;
|
|||
lean_object* l_Lean_Parser_Command_infix___elambda__1___closed__7;
|
||||
lean_object* l_Lean_Parser_Command_prefix___closed__3;
|
||||
lean_object* l_Lean_Parser_Command_macro__rules_formatter___closed__2;
|
||||
extern lean_object* l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2956____closed__3;
|
||||
lean_object* l_Lean_Parser_Command_syntaxAbbrev___elambda__1___closed__5;
|
||||
lean_object* l_Lean_Parser_Command_elab__rules___elambda__1___closed__15;
|
||||
lean_object* l_Lean_Parser_Syntax_sepBy_formatter___closed__1;
|
||||
|
|
@ -3427,7 +3427,7 @@ static lean_object* _init_l_Lean_Parser_Syntax_unary_parenthesizer___closed__2()
|
|||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3;
|
||||
x_1 = l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2956____closed__3;
|
||||
x_1 = l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2958____closed__3;
|
||||
x_2 = l_Lean_Parser_Syntax_paren_parenthesizer___closed__5;
|
||||
x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 2);
|
||||
lean_closure_set(x_3, 0, x_1);
|
||||
|
|
@ -3896,7 +3896,7 @@ static lean_object* _init_l_Lean_Parser_Syntax_binary_parenthesizer___closed__4(
|
|||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3;
|
||||
x_1 = l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2956____closed__3;
|
||||
x_1 = l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2958____closed__3;
|
||||
x_2 = l_Lean_Parser_Syntax_binary_parenthesizer___closed__3;
|
||||
x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 2);
|
||||
lean_closure_set(x_3, 0, x_1);
|
||||
|
|
@ -15122,7 +15122,7 @@ static lean_object* _init_l_Lean_Parser_Command_macroArgSymbol_parenthesizer___c
|
|||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3;
|
||||
x_1 = l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2956____closed__3;
|
||||
x_1 = l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2958____closed__3;
|
||||
x_2 = l_Lean_initFn____x40_Lean_Parser_Extra___hyg_938____closed__19;
|
||||
x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 2);
|
||||
lean_closure_set(x_3, 0, x_1);
|
||||
|
|
@ -15146,7 +15146,7 @@ static lean_object* _init_l_Lean_Parser_Command_macroArgSymbol_parenthesizer___c
|
|||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3;
|
||||
x_1 = l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2956____closed__3;
|
||||
x_1 = l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2958____closed__3;
|
||||
x_2 = l_Lean_Parser_Command_macroArgSymbol_parenthesizer___closed__3;
|
||||
x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 2);
|
||||
lean_closure_set(x_3, 0, x_1);
|
||||
|
|
@ -15249,7 +15249,7 @@ static lean_object* _init_l_Lean_Parser_Command_macroArgSimple_parenthesizer___c
|
|||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3;
|
||||
x_1 = l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2956____closed__3;
|
||||
x_1 = l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2958____closed__3;
|
||||
x_2 = l_Lean_Parser_Command_macroArgSimple_parenthesizer___closed__3;
|
||||
x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 2);
|
||||
lean_closure_set(x_3, 0, x_1);
|
||||
|
|
|
|||
26
stage0/stdlib/Lean/Parser/Term.c
generated
26
stage0/stdlib/Lean/Parser/Term.c
generated
|
|
@ -2586,6 +2586,7 @@ lean_object* l_Lean_Parser_Term_binderIdent;
|
|||
lean_object* l_Lean_Parser_Term_simpleBinder___elambda__1(lean_object*, lean_object*);
|
||||
extern lean_object* l_Std_Range_myMacro____x40_Init_Data_Range___hyg_362____closed__4;
|
||||
lean_object* l_Lean_Parser_Term_proj_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
extern lean_object* l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2958____closed__1;
|
||||
lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_3929____closed__11;
|
||||
lean_object* l_Lean_Parser_Term_whereDecls___closed__6;
|
||||
lean_object* l_Lean_Parser_Term_let_x2a_parenthesizer___closed__1;
|
||||
|
|
@ -2601,7 +2602,6 @@ lean_object* l_Lean_Parser_Term_implicitBinder___elambda__1___closed__2;
|
|||
lean_object* l___regBuiltinParser_Lean_Parser_Term_ensureExpectedType(lean_object*);
|
||||
lean_object* l_Lean_Parser_Term_local___elambda__1___closed__6;
|
||||
extern lean_object* l_Lean_Parser_Level_hole___elambda__1___closed__5;
|
||||
extern lean_object* l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2956____closed__1;
|
||||
lean_object* l_Lean_Parser_toggleInsideQuotFn(lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Parser_Term_explicit___elambda__1___closed__3;
|
||||
lean_object* l_Lean_Parser_Term_fromTerm___closed__4;
|
||||
|
|
@ -3478,6 +3478,7 @@ lean_object* l_Lean_Parser_Term_fromTerm___elambda__1___closed__7;
|
|||
lean_object* l_Lean_Parser_Term_app___elambda__1___closed__3;
|
||||
lean_object* l_Lean_Parser_Term_attributes___elambda__1___closed__2;
|
||||
lean_object* l_Lean_Parser_Term_let_x2a___closed__8;
|
||||
extern lean_object* l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2958____closed__3;
|
||||
lean_object* l_Lean_Parser_Term_ellipsis___elambda__1___closed__6;
|
||||
lean_object* l_Lean_Parser_Term_type___elambda__1___closed__6;
|
||||
lean_object* l_Lean_Parser_Term_parser_x21_formatter___closed__6;
|
||||
|
|
@ -3524,7 +3525,6 @@ lean_object* l_Lean_Parser_Term_let_x2a___closed__4;
|
|||
lean_object* l_Lean_Parser_Term_structInst_parenthesizer___closed__15;
|
||||
extern lean_object* l_Lean_Parser_Level_paren_formatter___closed__4;
|
||||
lean_object* l_Lean_Parser_Term_matchAlt_formatter___closed__1;
|
||||
extern lean_object* l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2956____closed__3;
|
||||
lean_object* l_Lean_Parser_checkColGtFn(lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Parser_Term_structInstArrayRef_formatter___closed__2;
|
||||
lean_object* l_Lean_Parser_Term_attr_quot___elambda__1___closed__10;
|
||||
|
|
@ -3614,10 +3614,10 @@ lean_object* l_Lean_Parser_Term_sort_parenthesizer___closed__2;
|
|||
lean_object* l_Lean_Parser_Term_sorry___elambda__1___closed__3;
|
||||
lean_object* l_Lean_Parser_Term_proj___closed__6;
|
||||
lean_object* l_Lean_Parser_Term_type___closed__4;
|
||||
extern lean_object* l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2956____closed__5;
|
||||
lean_object* l_Lean_Parser_Term_fun_formatter___closed__2;
|
||||
lean_object* l_Lean_Parser_Term_optSemicolon_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Parser_Term_paren___elambda__1(lean_object*, lean_object*);
|
||||
extern lean_object* l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2958____closed__5;
|
||||
lean_object* l_Lean_Parser_Term_optEllipsis_parenthesizer___closed__1;
|
||||
lean_object* l_Lean_Parser_Tactic_tacticSeq___closed__3;
|
||||
lean_object* l_Lean_Parser_Term_namedArgument_parenthesizer___closed__3;
|
||||
|
|
@ -7591,7 +7591,7 @@ static lean_object* _init_l_Lean_Parser_Term_type_parenthesizer___closed__3() {
|
|||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3;
|
||||
x_1 = l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2956____closed__5;
|
||||
x_1 = l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2958____closed__5;
|
||||
x_2 = l_Lean_Parser_Level_max_parenthesizer___closed__2;
|
||||
x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 2);
|
||||
lean_closure_set(x_3, 0, x_1);
|
||||
|
|
@ -7615,7 +7615,7 @@ static lean_object* _init_l_Lean_Parser_Term_type_parenthesizer___closed__5() {
|
|||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3;
|
||||
x_1 = l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2956____closed__1;
|
||||
x_1 = l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2958____closed__1;
|
||||
x_2 = l_Lean_Parser_Term_type_parenthesizer___closed__4;
|
||||
x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 2);
|
||||
lean_closure_set(x_3, 0, x_1);
|
||||
|
|
@ -27235,7 +27235,7 @@ static lean_object* _init_l_Lean_Parser_Term_doubleQuotedName_parenthesizer___cl
|
|||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3;
|
||||
x_1 = l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2956____closed__3;
|
||||
x_1 = l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2958____closed__3;
|
||||
x_2 = l_Lean_initFn____x40_Lean_Parser_Extra___hyg_938____closed__17;
|
||||
x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 2);
|
||||
lean_closure_set(x_3, 0, x_1);
|
||||
|
|
@ -29128,7 +29128,7 @@ static lean_object* _init_l_Lean_Parser_Term_letIdLhs_parenthesizer___closed__6(
|
|||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3;
|
||||
x_1 = l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2956____closed__1;
|
||||
x_1 = l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2958____closed__1;
|
||||
x_2 = l_Lean_Parser_Term_letIdLhs_parenthesizer___closed__5;
|
||||
x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 2);
|
||||
lean_closure_set(x_3, 0, x_1);
|
||||
|
|
@ -38768,7 +38768,7 @@ static lean_object* _init_l_Lean_Parser_Term_app_parenthesizer___closed__5() {
|
|||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3;
|
||||
x_1 = l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2956____closed__5;
|
||||
x_1 = l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2958____closed__5;
|
||||
x_2 = l_Lean_Parser_Term_app_parenthesizer___closed__4;
|
||||
x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 2);
|
||||
lean_closure_set(x_3, 0, x_1);
|
||||
|
|
@ -38780,7 +38780,7 @@ static lean_object* _init_l_Lean_Parser_Term_app_parenthesizer___closed__6() {
|
|||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3;
|
||||
x_1 = l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2956____closed__1;
|
||||
x_1 = l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2958____closed__1;
|
||||
x_2 = l_Lean_Parser_Term_app_parenthesizer___closed__5;
|
||||
x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 2);
|
||||
lean_closure_set(x_3, 0, x_1);
|
||||
|
|
@ -39139,7 +39139,7 @@ static lean_object* _init_l_Lean_Parser_Term_proj_parenthesizer___closed__3() {
|
|||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3;
|
||||
x_1 = l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2956____closed__3;
|
||||
x_1 = l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2958____closed__3;
|
||||
x_2 = l_Lean_Parser_Term_proj_parenthesizer___closed__2;
|
||||
x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 2);
|
||||
lean_closure_set(x_3, 0, x_1);
|
||||
|
|
@ -39488,7 +39488,7 @@ static lean_object* _init_l_Lean_Parser_Term_arrayRef_parenthesizer___closed__1(
|
|||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3;
|
||||
x_1 = l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2956____closed__3;
|
||||
x_1 = l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2958____closed__3;
|
||||
x_2 = l_Lean_Parser_Term_structInstArrayRef_parenthesizer___closed__3;
|
||||
x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 2);
|
||||
lean_closure_set(x_3, 0, x_1);
|
||||
|
|
@ -40460,7 +40460,7 @@ static lean_object* _init_l_Lean_Parser_Term_explicitUniv_parenthesizer___closed
|
|||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3;
|
||||
x_1 = l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2956____closed__3;
|
||||
x_1 = l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2958____closed__3;
|
||||
x_2 = l_Lean_Parser_Term_explicitUniv_parenthesizer___closed__3;
|
||||
x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 2);
|
||||
lean_closure_set(x_3, 0, x_1);
|
||||
|
|
@ -40833,7 +40833,7 @@ static lean_object* _init_l_Lean_Parser_Term_namedPattern_parenthesizer___closed
|
|||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3;
|
||||
x_1 = l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2956____closed__3;
|
||||
x_1 = l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2958____closed__3;
|
||||
x_2 = l_Lean_Parser_Term_explicit_parenthesizer___closed__3;
|
||||
x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 2);
|
||||
lean_closure_set(x_3, 0, x_1);
|
||||
|
|
|
|||
264
stage0/stdlib/Lean/PrettyPrinter/Parenthesizer.c
generated
264
stage0/stdlib/Lean/PrettyPrinter/Parenthesizer.c
generated
|
|
@ -89,7 +89,7 @@ lean_object* l_Lean_Syntax_MonadTraverser_goUp___at_Lean_PrettyPrinter_Parenthes
|
|||
uint8_t l_Lean_checkTraceOption(lean_object*, lean_object*);
|
||||
lean_object* l_Lean_PrettyPrinter_Parenthesizer_maybeParenthesize___closed__7;
|
||||
lean_object* lean_st_ref_get(lean_object*, lean_object*);
|
||||
lean_object* l_Lean_PrettyPrinter_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_3207_(lean_object*);
|
||||
lean_object* l_Lean_PrettyPrinter_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_3209_(lean_object*);
|
||||
extern lean_object* l_Lean_instInhabitedParserDescr___closed__1;
|
||||
lean_object* l_Lean_PrettyPrinter_Parenthesizer_throwError___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_PrettyPrinter_Parenthesizer_instCoeArrowParenthesizerParenthesizerParenthesizerAliasValue(lean_object*);
|
||||
|
|
@ -98,10 +98,10 @@ uint8_t lean_name_eq(lean_object*, lean_object*);
|
|||
lean_object* l_Lean_PrettyPrinter_Parenthesizer_level_parenthesizer___closed__3;
|
||||
lean_object* l_Lean_PrettyPrinter_Parenthesizer_evalInsideQuot_parenthesizer___boxed(lean_object*);
|
||||
lean_object* l_Lean_PrettyPrinter_Parenthesizer_maybeParenthesize___lambda__7___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2958____closed__22;
|
||||
lean_object* l_Lean_Syntax_MonadTraverser_goUp___at_Lean_PrettyPrinter_Parenthesizer_visitArgs___spec__4___rarg(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_PrettyPrinter_Parenthesizer_maybeParenthesize___spec__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_PrettyPrinter_Parenthesizer_withoutPosition_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2956____closed__22;
|
||||
lean_object* l_Lean_PrettyPrinter_Parenthesizer_symbolNoAntiquot_parenthesizer(lean_object*);
|
||||
lean_object* l_Lean_PrettyPrinter_mkParenthesizerAttribute___closed__7;
|
||||
lean_object* l_Lean_PrettyPrinter_Parenthesizer_throwBacktrack___rarg(lean_object*);
|
||||
|
|
@ -180,7 +180,6 @@ lean_object* l_ReaderT_bind___at_Lean_PrettyPrinter_Parenthesizer_trailingNode_p
|
|||
lean_object* l_Lean_Parser_registerAliasCore___rarg(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_PrettyPrinter_Parenthesizer_maybeParenthesize___lambda__3___closed__3;
|
||||
lean_object* l_Lean_Syntax_MonadTraverser_setCur___at_Lean_PrettyPrinter_Parenthesizer_maybeParenthesize___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2956____closed__4;
|
||||
lean_object* l_Nat_forM_loop___at_Lean_PrettyPrinter_Parenthesizer_manyNoAntiquot_parenthesizer___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* lean_pretty_printer_parenthesizer_interpret_parser_descr(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_PrettyPrinter_Parenthesizer_parserOfStack_parenthesizer___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
|
|
@ -191,7 +190,6 @@ lean_object* l_ReaderT_instMonadLiftReaderT(lean_object*, lean_object*, lean_obj
|
|||
lean_object* l_Lean_PrettyPrinter_Parenthesizer_checkWsBefore_parenthesizer___rarg(lean_object*);
|
||||
lean_object* l_Lean_PrettyPrinter_Parenthesizer_tactic_parenthesizer___lambda__2(lean_object*);
|
||||
lean_object* l_Lean_PrettyPrinter_Parenthesizer_maybeParenthesize___closed__4;
|
||||
lean_object* l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2956____closed__8;
|
||||
extern lean_object* l_term___x24_______closed__8;
|
||||
lean_object* l_Lean_PrettyPrinter_parenthesizerAttribute;
|
||||
lean_object* l_Lean_PrettyPrinter_Parenthesizer_many1NoAntiquot_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
|
|
@ -199,6 +197,7 @@ lean_object* l_Lean_PrettyPrinter_Parenthesizer_error_parenthesizer___rarg(lean_
|
|||
lean_object* l_Lean_PrettyPrinter_Parenthesizer_setExpected_parenthesizer___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_PrettyPrinter_Parenthesizer_node_parenthesizer___closed__5;
|
||||
lean_object* l_Lean_Syntax_Traverser_setCur(lean_object*, lean_object*);
|
||||
lean_object* l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2958____closed__8;
|
||||
lean_object* l_Lean_PrettyPrinter_Parenthesizer_term_parenthesizer___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
extern lean_object* l_term___x24_______closed__4;
|
||||
lean_object* l_ReaderT_map___at_Lean_PrettyPrinter_Parenthesizer_instMonadTraverserParenthesizerM___spec__1___at_Lean_PrettyPrinter_Parenthesizer_instMonadTraverserParenthesizerM___spec__2___boxed(lean_object*);
|
||||
|
|
@ -213,7 +212,6 @@ lean_object* l_ReaderT_bind___at_Lean_Unhygienic_instMonadQuotationUnhygienic___
|
|||
lean_object* l_Lean_PrettyPrinter_Parenthesizer_identEq_parenthesizer___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Std_fmt___at_Lean_PrettyPrinter_Parenthesizer_maybeParenthesize___spec__6(lean_object*);
|
||||
lean_object* lean_nat_sub(lean_object*, lean_object*);
|
||||
lean_object* l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2956____closed__19;
|
||||
lean_object* l_Lean_PrettyPrinter_Parenthesizer_maybeParenthesize___lambda__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_PrettyPrinter_Parenthesizer_throwBacktrack___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_PrettyPrinter_Parenthesizer_maybeParenthesize___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
|
|
@ -229,7 +227,6 @@ lean_object* l_Lean_PrettyPrinter_Parenthesizer_instMonadQuotationParenthesizerM
|
|||
lean_object* l_Lean_PrettyPrinter_Parenthesizer_ite___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_PrettyPrinter_parenthesize___closed__5;
|
||||
lean_object* l_Lean_PrettyPrinter_Parenthesizer_visitArgs(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2956____closed__11;
|
||||
lean_object* l_Lean_PrettyPrinter_Parenthesizer_checkWsBefore_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_PrettyPrinter_Parenthesizer_maybeParenthesize___closed__6;
|
||||
lean_object* l_Lean_PrettyPrinter_Parenthesizer_charLitNoAntiquot_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
|
|
@ -245,7 +242,6 @@ lean_object* l_Lean_PrettyPrinter_Parenthesizer_pushNone_parenthesizer___rarg___
|
|||
lean_object* l_Lean_Unhygienic_run___rarg(lean_object*);
|
||||
lean_object* l_Lean_PrettyPrinter_Parenthesizer_notFollowedByCategoryToken_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_PrettyPrinter_mkParenthesizerAttribute___closed__12;
|
||||
lean_object* l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2956____closed__20;
|
||||
lean_object* l_Lean_PrettyPrinter_Parenthesizer_node_parenthesizer___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_PrettyPrinter_Parenthesizer_categoryParserOfStack_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_PrettyPrinter_Parenthesizer_instMonadTraverserParenthesizerM___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
|
|
@ -256,20 +252,23 @@ lean_object* l_ReaderT_instMonadFunctorReaderT___boxed(lean_object*, lean_object
|
|||
lean_object* l_instInhabited___rarg(lean_object*, lean_object*);
|
||||
lean_object* l_Lean_PrettyPrinter_Parenthesizer_interpolatedStr_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
extern lean_object* l_Lean_Parser_Tactic_intro___closed__10;
|
||||
lean_object* l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2958____closed__20;
|
||||
lean_object* l_Lean_PrettyPrinter_Parenthesizer_setExpected_parenthesizer___boxed(lean_object*);
|
||||
lean_object* l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2958____closed__11;
|
||||
lean_object* l_Lean_PrettyPrinter_Parenthesizer_identEq_parenthesizer___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_addTrace___at_Lean_PrettyPrinter_parenthesize___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2958____closed__19;
|
||||
lean_object* l_Lean_PrettyPrinter_Parenthesizer_charLitNoAntiquot_parenthesizer___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_PrettyPrinter_Parenthesizer_nonReservedSymbolNoAntiquot_parenthesizer___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Syntax_MonadTraverser_goDown___at_Lean_PrettyPrinter_Parenthesizer_visitArgs___spec__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_PrettyPrinter_Parenthesizer_withoutForbidden_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2956____closed__12;
|
||||
lean_object* l_Lean_addTrace___at_Lean_PrettyPrinter_parenthesize___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Level_PP_Result_quote___lambda__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* lean_st_mk_ref(lean_object*, lean_object*);
|
||||
lean_object* l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2958____closed__10;
|
||||
lean_object* l_Lean_Syntax_getId(lean_object*);
|
||||
lean_object* l_Lean_PrettyPrinter_parenthesize(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2956____closed__10;
|
||||
lean_object* l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2958____closed__12;
|
||||
lean_object* lean_format_pretty(lean_object*, lean_object*);
|
||||
lean_object* l_Lean_PrettyPrinter_Parenthesizer_symbolNoAntiquot_parenthesizer___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
extern lean_object* l_Lean_Parser_Tactic_location___closed__4;
|
||||
|
|
@ -289,6 +288,7 @@ lean_object* l_Lean_PrettyPrinter_Parenthesizer_maybeParenthesize___closed__5;
|
|||
lean_object* l_Lean_PrettyPrinter_Parenthesizer_instMonadQuotationParenthesizerM___closed__11;
|
||||
lean_object* l_Lean_PrettyPrinter_Parenthesizer_unicodeSymbolNoAntiquot_parenthesizer(lean_object*, lean_object*);
|
||||
lean_object* l_Lean_PrettyPrinter_mkCategoryParenthesizerAttribute___closed__4;
|
||||
lean_object* l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2958____closed__6;
|
||||
lean_object* l_Lean_PrettyPrinter_Parenthesizer_maybeParenthesize___closed__11;
|
||||
lean_object* l_Lean_PrettyPrinter_Parenthesizer_instMonadQuotationParenthesizerM___closed__9;
|
||||
lean_object* l_Lean_Syntax_MonadTraverser_getCur___at_Lean_PrettyPrinter_Parenthesizer_visitArgs___spec__1___boxed(lean_object*);
|
||||
|
|
@ -318,7 +318,6 @@ extern lean_object* l_Lean_Parser_Syntax_addPrec___closed__10;
|
|||
extern lean_object* l_Lean_Parser_Tactic_paren___closed__1;
|
||||
lean_object* l_Lean_PrettyPrinter_Parenthesizer_parenthesizeCategoryCore___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_PrettyPrinter_Parenthesizer_checkOutsideQuot_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2956____closed__6;
|
||||
lean_object* l_Lean_PrettyPrinter_Parenthesizer_eoi_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
extern lean_object* l_myMacro____x40_Init_Notation___hyg_1264____closed__6;
|
||||
uint8_t l_Lean_PrettyPrinter_Parenthesizer_State_visitedToken___default;
|
||||
|
|
@ -340,6 +339,7 @@ lean_object* l_Lean_PrettyPrinter_Parenthesizer_throwBacktrack___rarg___closed__
|
|||
lean_object* l_Lean_PrettyPrinter_Parenthesizer_evalInsideQuot_parenthesizer(lean_object*);
|
||||
lean_object* l_Lean_PrettyPrinter_Parenthesizer_checkNoWsBefore_parenthesizer___rarg(lean_object*);
|
||||
lean_object* l_Lean_PrettyPrinter_Parenthesizer_instMonadTraverserParenthesizerM;
|
||||
lean_object* l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2958____closed__23;
|
||||
lean_object* l_Lean_PrettyPrinter_mkParenthesizerAttribute(lean_object*);
|
||||
lean_object* l_Lean_PrettyPrinter_mkParenthesizerAttribute___closed__1;
|
||||
lean_object* l_Lean_PrettyPrinter_Parenthesizer_checkNoImmediateColon_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
|
|
@ -347,7 +347,6 @@ extern lean_object* l_Lean_nullKind___closed__2;
|
|||
lean_object* l_Lean_PrettyPrinter_Parenthesizer_parenthesizeCategoryCore(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_PrettyPrinter_Parenthesizer_instMonadQuotationParenthesizerM___closed__2;
|
||||
lean_object* l_Lean_Syntax_Traverser_fromSyntax(lean_object*);
|
||||
lean_object* l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2956____closed__23;
|
||||
lean_object* l_Lean_PrettyPrinter_Parenthesizer_maybeParenthesize_match__4(lean_object*);
|
||||
lean_object* l_Lean_PrettyPrinter_mkCombinatorParenthesizerAttribute___closed__3;
|
||||
lean_object* l_Lean_PrettyPrinter_Parenthesizer_checkNoWsBefore_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
|
|
@ -356,17 +355,16 @@ lean_object* l_Lean_PrettyPrinter_Parenthesizer_pushNone_parenthesizer___rarg(le
|
|||
lean_object* l_Lean_PrettyPrinter_Parenthesizer_maybeParenthesize___closed__9;
|
||||
lean_object* l_Lean_PrettyPrinter_Parenthesizer_identEq_parenthesizer(lean_object*);
|
||||
lean_object* l_Lean_PrettyPrinter_Parenthesizer_instMonadQuotationParenthesizerM;
|
||||
lean_object* l_IO_mkRef___at_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2891____spec__1(lean_object*, lean_object*);
|
||||
lean_object* l_Lean_PrettyPrinter_Parenthesizer_maybeParenthesize___lambda__2(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_PrettyPrinter_Parenthesizer_node_parenthesizer___closed__4;
|
||||
lean_object* l_Lean_Syntax_MonadTraverser_goLeft___at_Lean_PrettyPrinter_Parenthesizer_visitArgs___spec__2___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2958____closed__1;
|
||||
lean_object* l_Lean_PrettyPrinter_Parenthesizer_checkNoWsBefore_parenthesizer___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2956____closed__1;
|
||||
extern lean_object* l_term_x5b___x5d___closed__5;
|
||||
lean_object* l_Std_PersistentArray_push___rarg(lean_object*, lean_object*);
|
||||
lean_object* l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2958____closed__21;
|
||||
lean_object* l_Lean_Syntax_MonadTraverser_goRight___at_Lean_PrettyPrinter_Parenthesizer_maybeParenthesize___spec__5___rarg(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_PrettyPrinter_Parenthesizer_maybeParenthesize___closed__19;
|
||||
lean_object* l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2956____closed__21;
|
||||
lean_object* l_Lean_Syntax_MonadTraverser_goLeft___at_Lean_PrettyPrinter_Parenthesizer_visitToken___spec__1(lean_object*);
|
||||
lean_object* l_Lean_PrettyPrinter_Parenthesizer_withAntiquotSuffixSplice_parenthesizer___rarg___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Syntax_Traverser_down(lean_object*, lean_object*);
|
||||
|
|
@ -374,15 +372,16 @@ lean_object* l___regBuiltin_Lean_PrettyPrinter_Parenthesizer_level_parenthesizer
|
|||
lean_object* l_Lean_PrettyPrinter_Parenthesizer_maybeParenthesize___lambda__3___closed__2;
|
||||
lean_object* l_Lean_PrettyPrinter_Parenthesizer_instCoeArrowParenthesizerArrowParenthesizerParenthesizerParenthesizerAliasValue(lean_object*);
|
||||
lean_object* l_Lean_PrettyPrinter_mkCategoryParenthesizerAttribute___lambda__1(uint8_t, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2891_(lean_object*);
|
||||
lean_object* l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2956_(lean_object*);
|
||||
lean_object* l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2893_(lean_object*);
|
||||
lean_object* l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2958_(lean_object*);
|
||||
lean_object* l_Lean_PrettyPrinter_Parenthesizer_setExpected_parenthesizer(lean_object*);
|
||||
uint8_t l_Lean_Parser_isParserCategory(lean_object*, lean_object*);
|
||||
lean_object* l_Lean_PrettyPrinter_combinatorParenthesizerAttribute;
|
||||
lean_object* l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2956____closed__13;
|
||||
uint8_t lean_nat_dec_le(lean_object*, lean_object*);
|
||||
lean_object* l_Lean_PrettyPrinter_Parenthesizer_instMonadTraverserParenthesizerM___lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2958____closed__13;
|
||||
lean_object* l_Lean_Syntax_MonadTraverser_setCur___at_Lean_PrettyPrinter_Parenthesizer_maybeParenthesize___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_IO_mkRef___at_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2893____spec__1(lean_object*, lean_object*);
|
||||
lean_object* l_Lean_PrettyPrinter_Parenthesizer_notFollowedByCategoryToken_parenthesizer___rarg(lean_object*);
|
||||
lean_object* l_Lean_PrettyPrinter_mkParenthesizerAttribute___closed__8;
|
||||
lean_object* l_Lean_PrettyPrinter_Parenthesizer_checkStackTop_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
|
|
@ -402,15 +401,16 @@ lean_object* l_Lean_PrettyPrinter_Parenthesizer_visitToken___boxed(lean_object*,
|
|||
lean_object* l_Lean_PrettyPrinter_Parenthesizer_addPrecCheck(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* lean_panic_fn(lean_object*, lean_object*);
|
||||
lean_object* l_Lean_PrettyPrinter_Parenthesizer_instMonadTraverserParenthesizerM___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2956____closed__9;
|
||||
lean_object* l_Lean_Syntax_MonadTraverser_goLeft___at_Lean_PrettyPrinter_Parenthesizer_visitArgs___spec__2___rarg(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Std_fmt___at_Lean_PrettyPrinter_Parenthesizer_maybeParenthesize___spec__6___closed__2;
|
||||
lean_object* l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2958____closed__9;
|
||||
lean_object* l_Lean_PrettyPrinter_Parenthesizer_maybeParenthesize___closed__2;
|
||||
lean_object* l_Lean_PrettyPrinter_Parenthesizer_maybeParenthesize___lambda__6___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Syntax_MonadTraverser_goRight___at_Lean_PrettyPrinter_Parenthesizer_maybeParenthesize___spec__5___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2958____closed__17;
|
||||
lean_object* l_ReaderT_pure___at_Lean_PrettyPrinter_Parenthesizer_instMonadQuotationParenthesizerM___spec__1(lean_object*);
|
||||
lean_object* l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2958____closed__4;
|
||||
lean_object* l_Lean_throwError___at_Lean_PrettyPrinter_Parenthesizer_throwError___spec__1(lean_object*);
|
||||
lean_object* l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2956____closed__17;
|
||||
lean_object* l_Lean_PrettyPrinter_Parenthesizer_withForbidden_parenthesizer___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_PrettyPrinter_Parenthesizer_checkNoImmediateColon_parenthesizer___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_PrettyPrinter_Parenthesizer_identNoAntiquot_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
|
|
@ -428,19 +428,20 @@ lean_object* l_Lean_PrettyPrinter_Parenthesizer_maybeParenthesize_match__5___rar
|
|||
lean_object* l___regBuiltin_Lean_PrettyPrinter_Parenthesizer_tactic_parenthesizer___closed__1;
|
||||
lean_object* l_Lean_PrettyPrinter_Parenthesizer_maybeParenthesize___lambda__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Std_fmt___at_Lean_Level_PP_Result_format___spec__2(lean_object*);
|
||||
lean_object* l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2956____closed__7;
|
||||
lean_object* l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2958____closed__7;
|
||||
lean_object* l_Nat_forM_loop___at_Lean_PrettyPrinter_Parenthesizer_parenthesizeCategoryCore___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2958____closed__24;
|
||||
lean_object* lean_st_ref_set(lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l___regBuiltin_Lean_PrettyPrinter_Parenthesizer_term_parenthesizer(lean_object*);
|
||||
lean_object* l_Lean_PrettyPrinter_Parenthesizer_parenthesizeCategoryCore___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_PrettyPrinter_Parenthesizer_maybeParenthesize_match__3___rarg(lean_object*, lean_object*, lean_object*);
|
||||
extern lean_object* l_Lean_ParserCompiler_instInhabitedCombinatorAttribute___closed__1;
|
||||
lean_object* l_Lean_PrettyPrinter_Parenthesizer_checkInsideQuot_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2958____closed__16;
|
||||
extern lean_object* l_Lean_Parser_Tactic_tactic___x3c_x3b_x3e_____closed__6;
|
||||
lean_object* l_Lean_PrettyPrinter_Parenthesizer_visitArgs___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_PrettyPrinter_mkCategoryParenthesizerAttribute___closed__1;
|
||||
lean_object* l_Lean_Syntax_MonadTraverser_goUp___at_Lean_PrettyPrinter_Parenthesizer_visitArgs___spec__4(lean_object*);
|
||||
lean_object* l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2956____closed__16;
|
||||
lean_object* l_Lean_PrettyPrinter_Parenthesizer_symbolNoAntiquot_parenthesizer___boxed(lean_object*);
|
||||
lean_object* l_Nat_forM_loop___at_Lean_PrettyPrinter_Parenthesizer_parenthesizeCategoryCore___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Syntax_MonadTraverser_getIdx___at_Lean_PrettyPrinter_Parenthesizer_maybeParenthesize___spec__1___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
|
|
@ -458,7 +459,6 @@ lean_object* l_Lean_PrettyPrinter_Parenthesizer_rawIdentNoAntiquot_parenthesizer
|
|||
lean_object* l_Lean_PrettyPrinter_Parenthesizer_checkColGt_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
extern lean_object* l_myMacro____x40_Init_Notation___hyg_2054____closed__4;
|
||||
lean_object* l_Lean_Syntax_MonadTraverser_getIdx___at_Lean_PrettyPrinter_Parenthesizer_maybeParenthesize___spec__1___boxed(lean_object*);
|
||||
lean_object* l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2956____closed__24;
|
||||
lean_object* l_Lean_PrettyPrinter_Parenthesizer_instMonadTraverserParenthesizerM_match__1___rarg(lean_object*, lean_object*);
|
||||
lean_object* l_Lean_PrettyPrinter_mkCategoryParenthesizerAttribute___closed__2;
|
||||
lean_object* l_Lean_PrettyPrinter_Parenthesizer_lookahead_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
|
|
@ -481,6 +481,7 @@ lean_object* l_Lean_throwError___at_Lean_PrettyPrinter_Parenthesizer_throwError_
|
|||
lean_object* l_Lean_indentD(lean_object*);
|
||||
extern lean_object* l_Substring_splitOn_loop___closed__2;
|
||||
lean_object* l_Lean_PrettyPrinter_Parenthesizer_parenthesizerForKind(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2958____closed__3;
|
||||
lean_object* l_Lean_PrettyPrinter_Parenthesizer_withPosition_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_ReaderT_instMonadReaderT___rarg(lean_object*);
|
||||
lean_object* l_Lean_PrettyPrinter_Parenthesizer_State_contCat___default;
|
||||
|
|
@ -490,7 +491,6 @@ lean_object* l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Pre
|
|||
lean_object* l_Lean_addTrace___at_Lean_PrettyPrinter_Parenthesizer_maybeParenthesize___spec__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_PrettyPrinter_Parenthesizer_nonReservedSymbolNoAntiquot_parenthesizer___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
extern lean_object* l_prec_x28___x29___closed__3;
|
||||
lean_object* l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2956____closed__3;
|
||||
lean_object* l_Lean_PrettyPrinter_mkCategoryParenthesizerAttribute___closed__6;
|
||||
lean_object* l_Lean_Syntax_getArg(lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Syntax_MonadTraverser_goLeft___at_Lean_PrettyPrinter_Parenthesizer_visitArgs___spec__2___boxed(lean_object*);
|
||||
|
|
@ -500,7 +500,7 @@ lean_object* lean_nat_mod(lean_object*, lean_object*);
|
|||
lean_object* l_Lean_PrettyPrinter_Parenthesizer_withForbidden_parenthesizer___boxed(lean_object*);
|
||||
lean_object* l_Lean_PrettyPrinter_Parenthesizer_maybeParenthesize_match__1(lean_object*);
|
||||
lean_object* l_Lean_PrettyPrinter_Parenthesizer_State_minPrec___default;
|
||||
lean_object* l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2956____closed__5;
|
||||
lean_object* l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2958____closed__5;
|
||||
lean_object* l_Lean_PrettyPrinter_mkCategoryParenthesizerAttribute___closed__3;
|
||||
lean_object* l_Lean_PrettyPrinter_Parenthesizer_strLitNoAntiquot_parenthesizer___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_PrettyPrinter_Parenthesizer_instMonadQuotationParenthesizerM___closed__5;
|
||||
|
|
@ -509,7 +509,8 @@ lean_object* l_Lean_PrettyPrinter_Parenthesizer_trailingNode_parenthesizer___lam
|
|||
extern lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_4001____closed__4;
|
||||
lean_object* l_Lean_PrettyPrinter_Parenthesizer_checkColGe_parenthesizer___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_PrettyPrinter_Parenthesizer_trailingNode_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2956____closed__15;
|
||||
lean_object* l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2958____closed__18;
|
||||
lean_object* l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2958____closed__15;
|
||||
lean_object* l_Lean_PrettyPrinter_Parenthesizer_leadingNode_parenthesizer___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_KeyedDeclsAttribute_init___rarg(lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_throwError___at_Lean_PrettyPrinter_Parenthesizer_throwError___spec__1___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
|
|
@ -517,7 +518,6 @@ extern lean_object* l_Lean_Parser_Tactic_inductionAlts___closed__8;
|
|||
lean_object* l_Lean_PrettyPrinter_Parenthesizer_interpolatedStr_parenthesizer___boxed__const__1;
|
||||
lean_object* l_Lean_PrettyPrinter_Parenthesizer_leadingNode_parenthesizer___closed__1;
|
||||
lean_object* l_Nat_min(lean_object*, lean_object*);
|
||||
lean_object* l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2956____closed__18;
|
||||
lean_object* l_Lean_PrettyPrinter_Parenthesizer_node_parenthesizer___closed__6;
|
||||
lean_object* l_Lean_PrettyPrinter_Parenthesizer_level_parenthesizer___lambda__1(lean_object*);
|
||||
extern lean_object* l_Lean_PrettyPrinter_backtrackExceptionId;
|
||||
|
|
@ -525,14 +525,13 @@ lean_object* l_Lean_PrettyPrinter_parenthesizeTerm___closed__1;
|
|||
lean_object* l_Lean_PrettyPrinter_Parenthesizer_instMonadQuotationParenthesizerM___closed__3;
|
||||
lean_object* l_Lean_PrettyPrinter_mkParenthesizerAttribute___closed__6;
|
||||
lean_object* l_Lean_PrettyPrinter_Parenthesizer_checkColGt_parenthesizer___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2956____closed__2;
|
||||
lean_object* l_Lean_Syntax_MonadTraverser_getIdx___at_Lean_PrettyPrinter_Parenthesizer_maybeParenthesize___spec__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(lean_object*);
|
||||
extern lean_object* l_instReprOption___rarg___closed__4;
|
||||
lean_object* l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2958____closed__14;
|
||||
lean_object* l_Lean_PrettyPrinter_Parenthesizer_tactic_parenthesizer___closed__1;
|
||||
lean_object* l_ReaderT_bind___at_Lean_PrettyPrinter_Parenthesizer_trailingNode_parenthesizer___spec__1(lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Syntax_Traverser_left(lean_object*);
|
||||
lean_object* l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2956____closed__14;
|
||||
lean_object* l_Lean_PrettyPrinter_Parenthesizer_maybeParenthesize___lambda__5___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_PrettyPrinter_Parenthesizer_checkInsideQuot_parenthesizer___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_PrettyPrinter_Parenthesizer_categoryParserOfStack_parenthesizer___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
|
|
@ -568,6 +567,7 @@ lean_object* lean_mk_antiquot_parenthesizer(lean_object*, lean_object*, uint8_t,
|
|||
lean_object* l_Lean_PrettyPrinter_mkCategoryParenthesizerAttribute___closed__5;
|
||||
uint8_t lean_nat_dec_lt(lean_object*, lean_object*);
|
||||
lean_object* l_Lean_PrettyPrinter_Parenthesizer_node_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2958____closed__2;
|
||||
lean_object* l_Lean_Attribute_Builtin_getId(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_PrettyPrinter_Parenthesizer_tactic_parenthesizer___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* _init_l_Lean_PrettyPrinter_Parenthesizer_Context_cat___default() {
|
||||
|
|
@ -10243,7 +10243,7 @@ x_10 = l_Lean_PrettyPrinter_Parenthesizer_ite___rarg(x_9, x_2, x_3, x_4, x_5, x_
|
|||
return x_10;
|
||||
}
|
||||
}
|
||||
lean_object* l_IO_mkRef___at_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2891____spec__1(lean_object* x_1, lean_object* x_2) {
|
||||
lean_object* l_IO_mkRef___at_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2893____spec__1(lean_object* x_1, lean_object* x_2) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_3; uint8_t x_4;
|
||||
|
|
@ -10268,12 +10268,12 @@ return x_7;
|
|||
}
|
||||
}
|
||||
}
|
||||
lean_object* l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2891_(lean_object* x_1) {
|
||||
lean_object* l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2893_(lean_object* x_1) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_2; lean_object* x_3;
|
||||
x_2 = lean_box(0);
|
||||
x_3 = l_IO_mkRef___at_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2891____spec__1(x_2, x_1);
|
||||
x_3 = l_IO_mkRef___at_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2893____spec__1(x_2, x_1);
|
||||
return x_3;
|
||||
}
|
||||
}
|
||||
|
|
@ -10313,7 +10313,7 @@ lean_ctor_set(x_2, 0, x_1);
|
|||
return x_2;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2956____closed__1() {
|
||||
static lean_object* _init_l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2958____closed__1() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1;
|
||||
|
|
@ -10321,17 +10321,17 @@ x_1 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_checkWsBefor
|
|||
return x_1;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2956____closed__2() {
|
||||
static lean_object* _init_l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2958____closed__2() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2;
|
||||
x_1 = l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2956____closed__1;
|
||||
x_1 = l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2958____closed__1;
|
||||
x_2 = lean_alloc_ctor(0, 1, 0);
|
||||
lean_ctor_set(x_2, 0, x_1);
|
||||
return x_2;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2956____closed__3() {
|
||||
static lean_object* _init_l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2958____closed__3() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1;
|
||||
|
|
@ -10339,17 +10339,17 @@ x_1 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_checkNoWsBef
|
|||
return x_1;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2956____closed__4() {
|
||||
static lean_object* _init_l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2958____closed__4() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2;
|
||||
x_1 = l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2956____closed__3;
|
||||
x_1 = l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2958____closed__3;
|
||||
x_2 = lean_alloc_ctor(0, 1, 0);
|
||||
lean_ctor_set(x_2, 0, x_1);
|
||||
return x_2;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2956____closed__5() {
|
||||
static lean_object* _init_l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2958____closed__5() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1;
|
||||
|
|
@ -10357,17 +10357,17 @@ x_1 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_checkColGt_p
|
|||
return x_1;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2956____closed__6() {
|
||||
static lean_object* _init_l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2958____closed__6() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2;
|
||||
x_1 = l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2956____closed__5;
|
||||
x_1 = l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2958____closed__5;
|
||||
x_2 = lean_alloc_ctor(0, 1, 0);
|
||||
lean_ctor_set(x_2, 0, x_1);
|
||||
return x_2;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2956____closed__7() {
|
||||
static lean_object* _init_l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2958____closed__7() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1;
|
||||
|
|
@ -10375,17 +10375,17 @@ x_1 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_checkColGe_p
|
|||
return x_1;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2956____closed__8() {
|
||||
static lean_object* _init_l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2958____closed__8() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2;
|
||||
x_1 = l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2956____closed__7;
|
||||
x_1 = l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2958____closed__7;
|
||||
x_2 = lean_alloc_ctor(0, 1, 0);
|
||||
lean_ctor_set(x_2, 0, x_1);
|
||||
return x_2;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2956____closed__9() {
|
||||
static lean_object* _init_l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2958____closed__9() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1;
|
||||
|
|
@ -10393,17 +10393,17 @@ x_1 = lean_mk_string("lookahead");
|
|||
return x_1;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2956____closed__10() {
|
||||
static lean_object* _init_l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2958____closed__10() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3;
|
||||
x_1 = lean_box(0);
|
||||
x_2 = l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2956____closed__9;
|
||||
x_2 = l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2958____closed__9;
|
||||
x_3 = lean_name_mk_string(x_1, x_2);
|
||||
return x_3;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2956____closed__11() {
|
||||
static lean_object* _init_l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2958____closed__11() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1;
|
||||
|
|
@ -10411,17 +10411,17 @@ x_1 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_lookahead_pa
|
|||
return x_1;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2956____closed__12() {
|
||||
static lean_object* _init_l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2958____closed__12() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2;
|
||||
x_1 = l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2956____closed__11;
|
||||
x_1 = l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2958____closed__11;
|
||||
x_2 = lean_alloc_ctor(1, 1, 0);
|
||||
lean_ctor_set(x_2, 0, x_1);
|
||||
return x_2;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2956____closed__13() {
|
||||
static lean_object* _init_l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2958____closed__13() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1;
|
||||
|
|
@ -10429,17 +10429,17 @@ x_1 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_atomic_paren
|
|||
return x_1;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2956____closed__14() {
|
||||
static lean_object* _init_l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2958____closed__14() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2;
|
||||
x_1 = l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2956____closed__13;
|
||||
x_1 = l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2958____closed__13;
|
||||
x_2 = lean_alloc_ctor(1, 1, 0);
|
||||
lean_ctor_set(x_2, 0, x_1);
|
||||
return x_2;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2956____closed__15() {
|
||||
static lean_object* _init_l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2958____closed__15() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1;
|
||||
|
|
@ -10447,17 +10447,17 @@ x_1 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_notFollowedB
|
|||
return x_1;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2956____closed__16() {
|
||||
static lean_object* _init_l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2958____closed__16() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2;
|
||||
x_1 = l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2956____closed__15;
|
||||
x_1 = l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2958____closed__15;
|
||||
x_2 = lean_alloc_ctor(1, 1, 0);
|
||||
lean_ctor_set(x_2, 0, x_1);
|
||||
return x_2;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2956____closed__17() {
|
||||
static lean_object* _init_l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2958____closed__17() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1;
|
||||
|
|
@ -10465,17 +10465,17 @@ x_1 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_withPosition
|
|||
return x_1;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2956____closed__18() {
|
||||
static lean_object* _init_l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2958____closed__18() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2;
|
||||
x_1 = l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2956____closed__17;
|
||||
x_1 = l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2958____closed__17;
|
||||
x_2 = lean_alloc_ctor(1, 1, 0);
|
||||
lean_ctor_set(x_2, 0, x_1);
|
||||
return x_2;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2956____closed__19() {
|
||||
static lean_object* _init_l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2958____closed__19() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1;
|
||||
|
|
@ -10483,17 +10483,17 @@ x_1 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_interpolated
|
|||
return x_1;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2956____closed__20() {
|
||||
static lean_object* _init_l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2958____closed__20() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2;
|
||||
x_1 = l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2956____closed__19;
|
||||
x_1 = l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2958____closed__19;
|
||||
x_2 = lean_alloc_ctor(1, 1, 0);
|
||||
lean_ctor_set(x_2, 0, x_1);
|
||||
return x_2;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2956____closed__21() {
|
||||
static lean_object* _init_l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2958____closed__21() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1;
|
||||
|
|
@ -10501,17 +10501,17 @@ x_1 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_orelse_paren
|
|||
return x_1;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2956____closed__22() {
|
||||
static lean_object* _init_l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2958____closed__22() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2;
|
||||
x_1 = l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2956____closed__21;
|
||||
x_1 = l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2958____closed__21;
|
||||
x_2 = lean_alloc_ctor(2, 1, 0);
|
||||
lean_ctor_set(x_2, 0, x_1);
|
||||
return x_2;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2956____closed__23() {
|
||||
static lean_object* _init_l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2958____closed__23() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1;
|
||||
|
|
@ -10519,23 +10519,23 @@ x_1 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_pare
|
|||
return x_1;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2956____closed__24() {
|
||||
static lean_object* _init_l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2958____closed__24() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2;
|
||||
x_1 = l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2956____closed__23;
|
||||
x_1 = l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2958____closed__23;
|
||||
x_2 = lean_alloc_ctor(2, 1, 0);
|
||||
lean_ctor_set(x_2, 0, x_1);
|
||||
return x_2;
|
||||
}
|
||||
}
|
||||
lean_object* l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2956_(lean_object* x_1) {
|
||||
lean_object* l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2958_(lean_object* x_1) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5;
|
||||
x_2 = l_Lean_PrettyPrinter_Parenthesizer_parenthesizerAliasesRef;
|
||||
x_3 = l_term___x24_______closed__8;
|
||||
x_4 = l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2956____closed__2;
|
||||
x_4 = l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2958____closed__2;
|
||||
x_5 = l_Lean_Parser_registerAliasCore___rarg(x_2, x_3, x_4, x_1);
|
||||
if (lean_obj_tag(x_5) == 0)
|
||||
{
|
||||
|
|
@ -10544,7 +10544,7 @@ x_6 = lean_ctor_get(x_5, 1);
|
|||
lean_inc(x_6);
|
||||
lean_dec(x_5);
|
||||
x_7 = l_Array_term_____x5b___x3a___x5d___closed__6;
|
||||
x_8 = l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2956____closed__4;
|
||||
x_8 = l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2958____closed__4;
|
||||
x_9 = l_Lean_Parser_registerAliasCore___rarg(x_2, x_7, x_8, x_6);
|
||||
if (lean_obj_tag(x_9) == 0)
|
||||
{
|
||||
|
|
@ -10553,7 +10553,7 @@ x_10 = lean_ctor_get(x_9, 1);
|
|||
lean_inc(x_10);
|
||||
lean_dec(x_9);
|
||||
x_11 = l_Lean_Parser_Tactic_intro___closed__10;
|
||||
x_12 = l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2956____closed__6;
|
||||
x_12 = l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2958____closed__6;
|
||||
x_13 = l_Lean_Parser_registerAliasCore___rarg(x_2, x_11, x_12, x_10);
|
||||
if (lean_obj_tag(x_13) == 0)
|
||||
{
|
||||
|
|
@ -10562,7 +10562,7 @@ x_14 = lean_ctor_get(x_13, 1);
|
|||
lean_inc(x_14);
|
||||
lean_dec(x_13);
|
||||
x_15 = l_Lean_Parser_Tactic_inductionAlts___closed__8;
|
||||
x_16 = l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2956____closed__8;
|
||||
x_16 = l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2958____closed__8;
|
||||
x_17 = l_Lean_Parser_registerAliasCore___rarg(x_2, x_15, x_16, x_14);
|
||||
if (lean_obj_tag(x_17) == 0)
|
||||
{
|
||||
|
|
@ -10570,8 +10570,8 @@ lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21;
|
|||
x_18 = lean_ctor_get(x_17, 1);
|
||||
lean_inc(x_18);
|
||||
lean_dec(x_17);
|
||||
x_19 = l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2956____closed__10;
|
||||
x_20 = l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2956____closed__12;
|
||||
x_19 = l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2958____closed__10;
|
||||
x_20 = l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2958____closed__12;
|
||||
x_21 = l_Lean_Parser_registerAliasCore___rarg(x_2, x_19, x_20, x_18);
|
||||
if (lean_obj_tag(x_21) == 0)
|
||||
{
|
||||
|
|
@ -10580,7 +10580,7 @@ x_22 = lean_ctor_get(x_21, 1);
|
|||
lean_inc(x_22);
|
||||
lean_dec(x_21);
|
||||
x_23 = l_term___x24_______closed__4;
|
||||
x_24 = l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2956____closed__14;
|
||||
x_24 = l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2958____closed__14;
|
||||
x_25 = l_Lean_Parser_registerAliasCore___rarg(x_2, x_23, x_24, x_22);
|
||||
if (lean_obj_tag(x_25) == 0)
|
||||
{
|
||||
|
|
@ -10589,7 +10589,7 @@ x_26 = lean_ctor_get(x_25, 1);
|
|||
lean_inc(x_26);
|
||||
lean_dec(x_25);
|
||||
x_27 = l_myMacro____x40_Init_Notation___hyg_2054____closed__4;
|
||||
x_28 = l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2956____closed__16;
|
||||
x_28 = l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2958____closed__16;
|
||||
x_29 = l_Lean_Parser_registerAliasCore___rarg(x_2, x_27, x_28, x_26);
|
||||
if (lean_obj_tag(x_29) == 0)
|
||||
{
|
||||
|
|
@ -10598,7 +10598,7 @@ x_30 = lean_ctor_get(x_29, 1);
|
|||
lean_inc(x_30);
|
||||
lean_dec(x_29);
|
||||
x_31 = l_Lean_Parser_Tactic_location___closed__4;
|
||||
x_32 = l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2956____closed__18;
|
||||
x_32 = l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2958____closed__18;
|
||||
x_33 = l_Lean_Parser_registerAliasCore___rarg(x_2, x_31, x_32, x_30);
|
||||
if (lean_obj_tag(x_33) == 0)
|
||||
{
|
||||
|
|
@ -10607,7 +10607,7 @@ x_34 = lean_ctor_get(x_33, 1);
|
|||
lean_inc(x_34);
|
||||
lean_dec(x_33);
|
||||
x_35 = l_termS_x21_____closed__6;
|
||||
x_36 = l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2956____closed__20;
|
||||
x_36 = l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2958____closed__20;
|
||||
x_37 = l_Lean_Parser_registerAliasCore___rarg(x_2, x_35, x_36, x_34);
|
||||
if (lean_obj_tag(x_37) == 0)
|
||||
{
|
||||
|
|
@ -10616,7 +10616,7 @@ x_38 = lean_ctor_get(x_37, 1);
|
|||
lean_inc(x_38);
|
||||
lean_dec(x_37);
|
||||
x_39 = l_myMacro____x40_Init_Notation___hyg_1264____closed__6;
|
||||
x_40 = l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2956____closed__22;
|
||||
x_40 = l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2958____closed__22;
|
||||
x_41 = l_Lean_Parser_registerAliasCore___rarg(x_2, x_39, x_40, x_38);
|
||||
if (lean_obj_tag(x_41) == 0)
|
||||
{
|
||||
|
|
@ -10625,7 +10625,7 @@ x_42 = lean_ctor_get(x_41, 1);
|
|||
lean_inc(x_42);
|
||||
lean_dec(x_41);
|
||||
x_43 = l_Lean_Parser_Syntax_addPrec___closed__10;
|
||||
x_44 = l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2956____closed__24;
|
||||
x_44 = l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2958____closed__24;
|
||||
x_45 = l_Lean_Parser_registerAliasCore___rarg(x_2, x_43, x_44, x_42);
|
||||
return x_45;
|
||||
}
|
||||
|
|
@ -11465,7 +11465,7 @@ x_6 = l_Lean_PrettyPrinter_parenthesize(x_5, x_1, x_2, x_3, x_4);
|
|||
return x_6;
|
||||
}
|
||||
}
|
||||
lean_object* l_Lean_PrettyPrinter_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_3207_(lean_object* x_1) {
|
||||
lean_object* l_Lean_PrettyPrinter_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_3209_(lean_object* x_1) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_2; lean_object* x_3;
|
||||
|
|
@ -11726,60 +11726,60 @@ l_Lean_PrettyPrinter_Parenthesizer_interpolatedStr_parenthesizer___closed__1 = _
|
|||
lean_mark_persistent(l_Lean_PrettyPrinter_Parenthesizer_interpolatedStr_parenthesizer___closed__1);
|
||||
l_Lean_PrettyPrinter_Parenthesizer_interpolatedStr_parenthesizer___boxed__const__1 = _init_l_Lean_PrettyPrinter_Parenthesizer_interpolatedStr_parenthesizer___boxed__const__1();
|
||||
lean_mark_persistent(l_Lean_PrettyPrinter_Parenthesizer_interpolatedStr_parenthesizer___boxed__const__1);
|
||||
res = l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2891_(lean_io_mk_world());
|
||||
res = l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2893_(lean_io_mk_world());
|
||||
if (lean_io_result_is_error(res)) return res;
|
||||
l_Lean_PrettyPrinter_Parenthesizer_parenthesizerAliasesRef = lean_io_result_get_value(res);
|
||||
lean_mark_persistent(l_Lean_PrettyPrinter_Parenthesizer_parenthesizerAliasesRef);
|
||||
lean_dec_ref(res);
|
||||
l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2956____closed__1 = _init_l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2956____closed__1();
|
||||
lean_mark_persistent(l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2956____closed__1);
|
||||
l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2956____closed__2 = _init_l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2956____closed__2();
|
||||
lean_mark_persistent(l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2956____closed__2);
|
||||
l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2956____closed__3 = _init_l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2956____closed__3();
|
||||
lean_mark_persistent(l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2956____closed__3);
|
||||
l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2956____closed__4 = _init_l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2956____closed__4();
|
||||
lean_mark_persistent(l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2956____closed__4);
|
||||
l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2956____closed__5 = _init_l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2956____closed__5();
|
||||
lean_mark_persistent(l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2956____closed__5);
|
||||
l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2956____closed__6 = _init_l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2956____closed__6();
|
||||
lean_mark_persistent(l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2956____closed__6);
|
||||
l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2956____closed__7 = _init_l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2956____closed__7();
|
||||
lean_mark_persistent(l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2956____closed__7);
|
||||
l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2956____closed__8 = _init_l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2956____closed__8();
|
||||
lean_mark_persistent(l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2956____closed__8);
|
||||
l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2956____closed__9 = _init_l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2956____closed__9();
|
||||
lean_mark_persistent(l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2956____closed__9);
|
||||
l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2956____closed__10 = _init_l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2956____closed__10();
|
||||
lean_mark_persistent(l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2956____closed__10);
|
||||
l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2956____closed__11 = _init_l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2956____closed__11();
|
||||
lean_mark_persistent(l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2956____closed__11);
|
||||
l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2956____closed__12 = _init_l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2956____closed__12();
|
||||
lean_mark_persistent(l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2956____closed__12);
|
||||
l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2956____closed__13 = _init_l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2956____closed__13();
|
||||
lean_mark_persistent(l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2956____closed__13);
|
||||
l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2956____closed__14 = _init_l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2956____closed__14();
|
||||
lean_mark_persistent(l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2956____closed__14);
|
||||
l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2956____closed__15 = _init_l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2956____closed__15();
|
||||
lean_mark_persistent(l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2956____closed__15);
|
||||
l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2956____closed__16 = _init_l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2956____closed__16();
|
||||
lean_mark_persistent(l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2956____closed__16);
|
||||
l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2956____closed__17 = _init_l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2956____closed__17();
|
||||
lean_mark_persistent(l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2956____closed__17);
|
||||
l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2956____closed__18 = _init_l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2956____closed__18();
|
||||
lean_mark_persistent(l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2956____closed__18);
|
||||
l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2956____closed__19 = _init_l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2956____closed__19();
|
||||
lean_mark_persistent(l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2956____closed__19);
|
||||
l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2956____closed__20 = _init_l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2956____closed__20();
|
||||
lean_mark_persistent(l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2956____closed__20);
|
||||
l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2956____closed__21 = _init_l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2956____closed__21();
|
||||
lean_mark_persistent(l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2956____closed__21);
|
||||
l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2956____closed__22 = _init_l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2956____closed__22();
|
||||
lean_mark_persistent(l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2956____closed__22);
|
||||
l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2956____closed__23 = _init_l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2956____closed__23();
|
||||
lean_mark_persistent(l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2956____closed__23);
|
||||
l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2956____closed__24 = _init_l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2956____closed__24();
|
||||
lean_mark_persistent(l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2956____closed__24);
|
||||
res = l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2956_(lean_io_mk_world());
|
||||
l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2958____closed__1 = _init_l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2958____closed__1();
|
||||
lean_mark_persistent(l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2958____closed__1);
|
||||
l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2958____closed__2 = _init_l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2958____closed__2();
|
||||
lean_mark_persistent(l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2958____closed__2);
|
||||
l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2958____closed__3 = _init_l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2958____closed__3();
|
||||
lean_mark_persistent(l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2958____closed__3);
|
||||
l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2958____closed__4 = _init_l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2958____closed__4();
|
||||
lean_mark_persistent(l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2958____closed__4);
|
||||
l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2958____closed__5 = _init_l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2958____closed__5();
|
||||
lean_mark_persistent(l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2958____closed__5);
|
||||
l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2958____closed__6 = _init_l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2958____closed__6();
|
||||
lean_mark_persistent(l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2958____closed__6);
|
||||
l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2958____closed__7 = _init_l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2958____closed__7();
|
||||
lean_mark_persistent(l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2958____closed__7);
|
||||
l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2958____closed__8 = _init_l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2958____closed__8();
|
||||
lean_mark_persistent(l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2958____closed__8);
|
||||
l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2958____closed__9 = _init_l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2958____closed__9();
|
||||
lean_mark_persistent(l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2958____closed__9);
|
||||
l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2958____closed__10 = _init_l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2958____closed__10();
|
||||
lean_mark_persistent(l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2958____closed__10);
|
||||
l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2958____closed__11 = _init_l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2958____closed__11();
|
||||
lean_mark_persistent(l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2958____closed__11);
|
||||
l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2958____closed__12 = _init_l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2958____closed__12();
|
||||
lean_mark_persistent(l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2958____closed__12);
|
||||
l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2958____closed__13 = _init_l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2958____closed__13();
|
||||
lean_mark_persistent(l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2958____closed__13);
|
||||
l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2958____closed__14 = _init_l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2958____closed__14();
|
||||
lean_mark_persistent(l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2958____closed__14);
|
||||
l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2958____closed__15 = _init_l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2958____closed__15();
|
||||
lean_mark_persistent(l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2958____closed__15);
|
||||
l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2958____closed__16 = _init_l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2958____closed__16();
|
||||
lean_mark_persistent(l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2958____closed__16);
|
||||
l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2958____closed__17 = _init_l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2958____closed__17();
|
||||
lean_mark_persistent(l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2958____closed__17);
|
||||
l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2958____closed__18 = _init_l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2958____closed__18();
|
||||
lean_mark_persistent(l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2958____closed__18);
|
||||
l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2958____closed__19 = _init_l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2958____closed__19();
|
||||
lean_mark_persistent(l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2958____closed__19);
|
||||
l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2958____closed__20 = _init_l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2958____closed__20();
|
||||
lean_mark_persistent(l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2958____closed__20);
|
||||
l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2958____closed__21 = _init_l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2958____closed__21();
|
||||
lean_mark_persistent(l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2958____closed__21);
|
||||
l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2958____closed__22 = _init_l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2958____closed__22();
|
||||
lean_mark_persistent(l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2958____closed__22);
|
||||
l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2958____closed__23 = _init_l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2958____closed__23();
|
||||
lean_mark_persistent(l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2958____closed__23);
|
||||
l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2958____closed__24 = _init_l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2958____closed__24();
|
||||
lean_mark_persistent(l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2958____closed__24);
|
||||
res = l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2958_(lean_io_mk_world());
|
||||
if (lean_io_result_is_error(res)) return res;
|
||||
lean_dec_ref(res);
|
||||
l_Lean_PrettyPrinter_parenthesize___closed__1 = _init_l_Lean_PrettyPrinter_parenthesize___closed__1();
|
||||
|
|
@ -11796,7 +11796,7 @@ l_Lean_PrettyPrinter_parenthesizeTerm___closed__1 = _init_l_Lean_PrettyPrinter_p
|
|||
lean_mark_persistent(l_Lean_PrettyPrinter_parenthesizeTerm___closed__1);
|
||||
l_Lean_PrettyPrinter_parenthesizeCommand___closed__1 = _init_l_Lean_PrettyPrinter_parenthesizeCommand___closed__1();
|
||||
lean_mark_persistent(l_Lean_PrettyPrinter_parenthesizeCommand___closed__1);
|
||||
res = l_Lean_PrettyPrinter_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_3207_(lean_io_mk_world());
|
||||
res = l_Lean_PrettyPrinter_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_3209_(lean_io_mk_world());
|
||||
if (lean_io_result_is_error(res)) return res;
|
||||
lean_dec_ref(res);
|
||||
return lean_io_result_mk_ok(lean_box(0));
|
||||
|
|
|
|||
2291
stage0/stdlib/Lean/Server/FileWorker.c
generated
2291
stage0/stdlib/Lean/Server/FileWorker.c
generated
File diff suppressed because it is too large
Load diff
690
stage0/stdlib/Lean/Util/Trace.c
generated
690
stage0/stdlib/Lean/Util/Trace.c
generated
File diff suppressed because it is too large
Load diff
Loading…
Add table
Reference in a new issue